【发布时间】:2016-12-05 11:49:41
【问题描述】:
我很难弄清楚如何在 Visual Studio 2017 项目中设置交叉定位,但我找不到任何示例。
我从 .NET Standard 1.5 项目开始,为了简单起见,我只是尝试添加 .NET Standard 1.6。如果我正确理解文档,我现在应该能够在 csproj 文件中完成所有这些操作,而不必弄乱 project.json 或 nuspec 文件。
我已经尝试了所有这些值,但似乎都不起作用:
<TargetFrameworks>netstandard15;netstandard16</TargetFrameworks>
<TargetFrameworks>netstandard1.5;netstandard1.6</TargetFrameworks>
<TargetFrameworks>.NETStandard,Version=v1.5;.NETStandard,Version=v1.6</TargetFrameworks>
这是我能找到的关于该功能的唯一文档来源,它不包含完整的示例:
https://docs.nuget.org/ndocs/schema/msbuild-targets
https://docs.nuget.org/ndocs/create-packages/supporting-multiple-target-frameworks
【问题讨论】:
-
没有人讨论过 MSBuild 中针对 .NET Core 项目的多目标,恕我直言。除非 Microsoft 提供更多信息,否则您现在必须针对单个平台。您提到的文档仅是 NuGet,我认为它们不相关。
-
啊!是的,这完全有道理。我不知道 MSBuild 如何识别 NuGet 使用的标签。感谢您礼貌地回答了这么愚蠢的问题。
-
好吧,我相信您提出了一个非常好的问题,但不是在正确的时间。微软刚刚将 MSBuild 支持带回 .NET Core,并发布了 VS2017 的预览版。所以目前还不知道应该如何将
project.json中的多个框架转换为 MSBuild 语法。时间会证明一切。 -
这仍然是一个好问题。半年过去了,好像还是没有答案?
标签: visual-studio msbuild msbuild-4.0 visual-studio-2017