小编sou*_*zer的帖子

"GenerateResource"任务CLR2运行时错误

我的应用程序不断收到此错误(顺便说一句,我使用的是VS 2013,VB.NET和Windows 8.1):

无法运行"GenerateResource"任务,因为MSBuild无法使用运行时"CLR2"和体系结构"x86"创建或连接到任务主机.请确保(1)计算机上可用的运行时和/或体系结构,以及(2)所需的可执行文件"C:\ Program Files(x86)\ MSBuild\12.0\bin\MSBuildTaskHost.exe"存在且可以跑.

该应用程序适用于.NET 3.5(3.5及更低版本让我错误).我尝试再次运行该应用程序.有时,它有效; 有时,错误会回来.

我已经尝试在谷歌寻找答案,他们给我的答案竟然是:"你的构建用户名太长了"(他们说20个字符或更多字符会导致错误),但事实并非如此.我的用户名只有5个字符.无论如何,我不认为我的构建用户名的长度与它有任何关系; 这没有道理.

有谁知道3.5及更低版本有什么问题?谢谢.

vb.net msbuild runtime-error .net-3.5 visual-studio-2013

33
推荐指数
2
解决办法
2万
查看次数

按钮C#(WinForms)中的圆角边

这是一个圆角边缘按钮

你好,通过这里和其他网站的一些研究,我做了一个圆角边缘按钮.

protected override void OnPaint(PaintEventArgs e)
{
    base.OnPaint(e);
    Rectangle Rect = new Rectangle(0, 0, this.Width, this.Height);
    GraphicsPath GraphPath = new GraphicsPath();
    GraphPath.AddArc(Rect.X, Rect.Y, 50, 50, 180, 90);
    GraphPath.AddArc(Rect.X + Rect.Width - 50, Rect.Y, 50, 50, 270, 90);
    GraphPath.AddArc(Rect.X + Rect.Width - 50, Rect.Y + Rect.Height - 50, 50, 50, 0, 90);
    GraphPath.AddArc(Rect.X, Rect.Y + Rect.Height - 50, 50, 50, 90, 90);
    this.Region = new Region(GraphPath);
}
Run Code Online (Sandbox Code Playgroud)

我面临的问题是按钮的"蓝色突出显示":它显示在大部分按钮上,但它没有显示在圆形边缘上,因此我的按钮部分突出显示,部分不突出显示(在边缘上).我该怎么做才能解决这个问题?谢谢.

PS:我不能使用WPF.该应用程序适用于非常旧的计算机; 所以,请不要建议.此外,客户没有钱购买新电脑.

c# graphics button rounded-corners winforms

13
推荐指数
2
解决办法
4万
查看次数

在任何形式的VB.NET上居中标签

我需要显示一个带有居中标签的表单(根据表单的宽度和标签的文本,宽度,字体系列和字体大小).到目前为止,这是我的尝试:

(Me.Width - TextRenderer.MeasureText("Hello word", New Font("Delius", 10, 
FontStyle.Regular).Width) / 2
Run Code Online (Sandbox Code Playgroud)

无论我尝试多少,标签都不会出现应该居中的位置(标签的左右两侧看起来不一样).

无论使用哪种字体,还有其他方法来测量文本吗?谢谢.

vb.net text-rendering width measure

6
推荐指数
2
解决办法
2万
查看次数

如何在框架中拆分.gif?

我找到的所有代码都给了我相同的结果:一堆精确的框架.含义:它给出了第一帧的列表,重复X次.我使用的.gif有30帧,所以我得到第一帧的30倍,而不是30帧.

    public static Image[] GetFramesFromAnimatedGIF(Image IMG)
    {
        List<Image> IMGs = new List<Image>();
        int Length = IMG.GetFrameCount(FrameDimension.Time);

        for (int i = 0; i < Length; i++)
        {
            IMG.SelectActiveFrame(FrameDimension.Time, i);
            IMGs.Add(IMG);
        }

        return IMGs.ToArray();
    }
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我看过的所有代码都给第一帧重复X次.

这是应该看的(使用网页).看看每个框架是如何不同的?

在此输入图像描述

这是在将数组内的每个帧保存在文件夹位置(一堆相​​等的帧)之后它找我的样子:

在此输入图像描述

PS:是的,这是我正在使用的图像.gif.

更新:问题似乎是当我在OpenFileDialog中读取文件时,因为如果我通过代码传递我的.gif文件就可以了.那么如何在OpenFileDialong中阅读动画gif?谢谢.

c# image gif frame

6
推荐指数
1
解决办法
1909
查看次数

循环通过注册表并获取 C# 中 RegistryKey 中的所有子项和值

我需要遍历注册表并获取所有子项和所有值。

这就是我一直在尝试的(仅获取所有子键):

public void OutputRegKey(RegistryKey Key)
{
    foreach (string keyname in Key.GetSubKeyNames())
    {
        try
        {
            using (RegistryKey key2 = Key.OpenSubKey(keyname))
            {
                foreach (string valuename in Key.GetValueNames())
                {
                    comboBox1.Items.Add(valuename);
                    OutputRegKey(key2);
                }
            }
         }
         catch
         {

         }
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何获得所有值?我需要做两种方法:一种获取所有子键,另一种获取所有值。我只是要求一个人获得所有的价值。谢谢你。

PS:这不是家庭作业或与学术有关的其他方面。这是个人的事情。

c# registry recursion

4
推荐指数
1
解决办法
7159
查看次数

如何在标准C中创建新的char *

我为C ++编写了以下代码(它可以工作):

char* ConcatCharToCharArray(char *Str, char Chr)
{
    char *StrResult = new char[strlen(Str) + 2]; 
    strcpy(StrResult, Str);
    StrResult[strlen(Str)] = Chr;
    StrResult[strlen(Str) + 1] = '\0';
    return StrResult;
}

/* Example: String = "Hello worl"
Char = "d"
Final string = "Hello world" */
Run Code Online (Sandbox Code Playgroud)

小问题是我正在Ubuntu中制作一个标准C程序,并且需要此代码。而且,“新”不会被识别为保留字,甚至在其下还会有一个红色标记。

我试过了:char *StrResult[strlen(Str) + 2],但是它不起作用,因为那样只能接受常量值。我猜想“ malloc”将是这里的标准C解决方案,我该如何使用“ malloc”或其他方式做到这一点?非常感谢。

c memory arrays malloc strlen

3
推荐指数
1
解决办法
1万
查看次数

创建一个函数来计算任何表中的行数

我有这个用户定义的函数:

 CREATE FUNCTION [dbo].[COUNT_ROWS_TABLE]()
 RETURNS TINYINT
 AS
 BEGIN
      DECLARE @ROW_COUNT TINYINT
      SELECT @ROW_COUNT = COUNT(*) FROM EMPLOYEE
      RETURN @ROW_COUNT
 END
 GO
Run Code Online (Sandbox Code Playgroud)

问题是它仅适用于表[dbo].[EMPLOYEE],我不想为数据库中的每个表复制粘贴此函数。

到目前为止我的尝试:

 CREATE FUNCTION [dbo].[COUNT_ROWS_TABLE](@TABLE_NAME VARCHAR(50))
 RETURNS TINYINT
 AS
 BEGIN
      DECLARE @SQL_COMMAND NVARCHAR(100)
      DECLARE @PARAM NVARCHAR(50)
      DECLARE @ROW_COUNT TINYINT
      SET @SQL_COMMAND = N'SELECT @RESULT = COUNT(*) FROM ' + @TABLE_NAME
      SET @PARAM = N'@RESULT TINYINT OUTPUT'
      EXEC SP_EXECUTESQL @SQL_COMMAND, @PARAM, @RESULT = @ROW_COUNT OUTPUT
      RETURN @ROW_COUNT
 END
 GO
Run Code Online (Sandbox Code Playgroud)

该代码不起作用,因为它不允许在函数内使用这些语句。不过,它在存储过程中工作,但前提是我是PRINT变量而不是变量RETURN

我需要它是一个函数,因为我需要在IF语句上调用它。

关于如何实现这一目标有什么想法吗?谢谢。

sql sql-server function dynamic

2
推荐指数
1
解决办法
4398
查看次数

正则表达式为整数或双精度值

我正在尝试使用正则表达式来接受整数和双精度值(正数和负数).

这就是我所拥有的:

 @"-?d*(?:\d*\.\d*)?$"
Run Code Online (Sandbox Code Playgroud)

在此之前被标记为重复的问题,我已经检查了所有问题,因此我最终得到了相同的问题:

5 and -5 -> true

5.00 and -5.00 -> true

BUT... 5. and -5. -> true
Run Code Online (Sandbox Code Playgroud)

它只需<数字+点>,在这种情况下,''''和'-5.''作为"有效"数字.同样,我已编译过的其他类似答案中也存在同样的问题.

c# regex

2
推荐指数
1
解决办法
5909
查看次数

在shell脚本Linux中添加一个新目录

如何使用我将目录名称作为参数传递的函数来创建新目录?

例:

CreateNewDirectory \home\Folder1; # Creates a folder named "Folder1" at home # 
Run Code Online (Sandbox Code Playgroud)

linux directory bash shell

0
推荐指数
1
解决办法
62
查看次数