假如你有一个类似这样的 .NET Core 项目:
"frameworks": {
"net40": {},
"dotnet5.1": {}
}
这是您的C#代码:
public class Foo
{
public static void Blah()
{
#if DOTNET5_1
DoSomething();
#elif NET40
DoSomethingElse();
#endif
}
}
现在,在 Visual Studio 中查看 .cs
文件时,其中一个 #if
部分将被变灰- 要么是 DoSomething
,要么是 DoSomethingElse
。以下是它在我的笔记本电脑上的显示方式:
是否可以让 VS 在不同的目标平台之间“切换上下文”,以便您可以查看针对特定平台编译的内容?例如,在实际构建解决方案之前,我可能需要检查每个框架是否存在任何红色波浪线。
感谢您的任何帮助!
net40
?你的类库将无法与运行在完整 .NET Framework 上的 .NET Core 兼容,因为最低支持版本是 .NET 4.5.1。https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md 你需要至少多目标net451
和net40
来同时支持 4.0 和 (ASP).NET Core 对于 Full .NET Framework/Mono。 - Tsengdotnet5.1
将处理 .NET 4.5、Windows 8 和大多数其他平台。net40
将处理 .NET 4.0。 - James Ko