小编rgb*_*rgb的帖子

MsBuild 无法解析 MsBuildMajorVersion

我有超过 100 个项目的 Visual Studio 解决方案。其中五个安装了 Fody 的 nuget 包(版本 6.0.3)。当我尝试构建解决方案时,出现以下错误:

Fody.6.3.0\build\Fody.targets(38,12):错误 MSB4086:在“$(MsBuildMajorVersion)”上尝试了数值比较,结果为“”而不是数字,条件为“($(MsBuildMajorVersion)” < 16)"

在这次失败的构建之后,我尝试重复构建,经过多次尝试(有时是一次,有时是五次),构建成功完成。我试图重新安装所有 nuget 包,清除 nuget 缓存,重新安装 Visual Studio,设置MSBUILDDISABLENODEREUSE变量,但没有任何帮助。

Visual Studio 2019 的版本为 16.8.4,所有项目的 .NET Framework 版本均为 4.8。

更新:

问题只存在于我的机器上。在同事的工作站上,一切正常。我发现在构建失败后应该重新启动 Visual Studio 并且构建过程成功的提示。这个技巧对我来说是一个足够的解决方法。

.net msbuild visual-studio fody

11
推荐指数
2
解决办法
2131
查看次数

TSQL - 如果记录存在于单个选择中,则将查询中的值分配给变量

我如何改进以下代码只使用'select'一次?

IF EXISTS (SELECT [NUMBER] FROM [TABLE] WHERE [ID_RECORD] = @id_record
BEGIN
   DECLARE @tmp_variable
   SELECT @tmp_variable = [NUMBER] FROM [TABLE] WHERE [ID_RECORD] = @id_record

   SET @other_variable = @tmp_variable
END
ELSE
BEGIN
   SET @other_variable = 0
END
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server-2008

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

Visual Studio中pragma pack指令的范围

#pragma packVisual C++中对齐的范围是什么?API参考 https://msdn.microsoft.com/en-us/library/vstudio/2e70t5y1%28v=vs.120%29.aspx 说:

在看到pragma之后,pack在第一个struct,union或class声明生效

因此,以下代码的结果是:

#include <iostream>

#pragma pack(push, 1)

struct FirstExample
{
   int intVar;   // 4 bytes
   char charVar; // 1 byte
};

struct SecondExample
{
   int intVar;   // 4 bytes
   char charVar; // 1 byte
};


void main()
{
   printf("Size of the FirstExample is %d\n", sizeof(FirstExample));
   printf("Size of the SecondExample is %d\n", sizeof(SecondExample));
}
Run Code Online (Sandbox Code Playgroud)

我曾预料到:

Size of the FirstExample is 5
Size of the SecondExample is 8
Run Code Online (Sandbox Code Playgroud)

但我收到了:

Size of the FirstExample is 5
Size …
Run Code Online (Sandbox Code Playgroud)

c++ preprocessor-directive visual-studio-2013 pragma-pack

8
推荐指数
2
解决办法
1678
查看次数

更改嵌套记录中的属性值

是否可以使用with关键字创建具有不同嵌套属性值的嵌套记录的新实例 - 两种情况:简单属性和集合?让我们看一个例子:

class Program
{
    static void Main(string[] args)
    {
        var company = new Company(
            Name: "Company1",
            Branch: new Branch(
                Location: "Krakow",
                Employees: new[]
                {
                    new Employee("Robert")
                }));

        Console.WriteLine(company);
    }
}

internal record Company(string Name, Branch Branch);
internal record Branch(string Location, IEnumerable<Employee> Employees);
internal record Employee(string FirstName);
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,我想要创建一条新记录,但更改了分支机构位置 ( "Krakow") 和员工姓名 ( "Robert") 的值。我怎样才能最有效地做到这一点?

.net c# c#-9.0

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

如何从C#中的lcid获取当前线程语言的语言名称

假设我有 3 个 LCID:

\n\n
    \n
  • 2057 - 英语(英国)
  • \n
  • 1034 - 西班牙语(西班牙)
  • \n
  • 1045 - 波兰语(波兰)
  • \n
\n\n

如何以当前 UI 线程的语言检索语言名称,例如我期望的波兰语:

\n\n
    \n
  • 第2057章——安吉尔斯基(Wielka Brytania)
  • \n
  • 1034 - Hiszpa\xc5\x84ski(西班牙)
  • \n
  • 1045 - Polski(波兰)
  • \n
\n\n

财产NativeName并不能解决我的问题。

\n

.net c# globalization

5
推荐指数
1
解决办法
2035
查看次数

如何在 PowerShell 中为 Linux 创建永久环境变量

如何在 PowerShell Core 中为 Linux 创建、设置和更新永久环境变量。以下解决方案正常工作,但仅当我在 Windows 上运行脚本时:

[Environment]::SetEnvironmentVariable("Variable", "Value", "Machine")
Run Code Online (Sandbox Code Playgroud)

linux powershell powershell-core

5
推荐指数
1
解决办法
1200
查看次数

MFC DYNAMIC_DOWNCAST 与 dynamic_cast

DYNAMIC_DOWNCASTMFC 库和标准 C++dynamic_cast运算符有什么区别?我可以使用安全dynamic_cast而不是DYNAMIC_DOWNCASTMFC 对象吗?

当我的类包含DECLARE_DYNAMICIMPLEMENT_DYNAMIC宏时,我可以使用dynamic_cast运算符还是必须DYNAMIC_DOWNCAST对此类对象使用宏?

c++ mfc casting

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

在sql中查找两个表之间的重复差异

我试图在两个表之间找到重复的行.此代码仅在记录不重复时有效:

(select [Name], [Age] from PeopleA
except
select [Name], [Age] from PeopleB)
union all
(select [Name], [Age] from PeopleB
except
select [Name], [Age] from PeopleA)
Run Code Online (Sandbox Code Playgroud)

如何查找丢失的重复记录.Robert 34PersonA表中,例如下面:

人物A:

Name   | Age
-------------
John   | 45
Robert | 34
Adam   | 26
Robert | 34
Run Code Online (Sandbox Code Playgroud)

人B:

Name   | Age
-------------
John   | 45
Robert | 34
Adam   | 26
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2012

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

为什么对泛型 Func&lt;&gt; 的分配方法是不可能的

我试图理解为什么我不能从对象返回一个方法作为Func<>函数的泛型,但另一方面,我可以Func<>通过参数传递与泛型相同的方法。

请分析以下例子:

public class SomeDto1
{
}

public class SomeDto2
{
}

public class Foo1
{
  public static SomeDto1 Retrieve(int number)
  {
    // do sth with number
    return new SomeDto1();
  }
}

public class Foo2
{
  public static SomeDto2 Get(int number)
  {
    // do sth with number
    return new SomeDto2();
  }
}

public class DoSthWithMethods
{
  private void DoSth<T>(Func<int, T> method)
  {
    var dto = method(16);
    // do sth with dto
  }

  public IEnumerable<Func<int, T>> DoSth2<T>() …
Run Code Online (Sandbox Code Playgroud)

c#

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

检查 FluentAssertion 异常语法中的返回值

我想通过FluentAssertion语法检查方法的返回值。请考虑以下片段:

public interface IFoo
{
    Task<int> DoSomething();
}

public class Bar
{
    private readonly IFoo _foo;
    private static int _someMagicNumber = 17;

    public Bar(IFoo foo)
    {
        _foo = foo;
    }

    public async Task<int> DoSomethingSmart()
    {
        try
        {
            return await _foo.DoSomething();
        }
        catch
        {
            return _someMagicNumber;
        }
    }
}

[TestFixture]
public class BarTests
{
    [Test]
    public async Task ShouldCatchException()
    {
        // Arrange
        var foo = Substitute.For<IFoo>();
        foo.DoSomething().Throws(new Exception());
        var bar = new Bar(foo);
        Func<Task> result = () => bar.DoSomethingSmart(); …
Run Code Online (Sandbox Code Playgroud)

c# nunit nsubstitute fluent-assertions

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