【发布时间】:2016-02-17 05:28:00
【问题描述】:
假设您有一个应该为多个平台编译的 .NET Core PCL。由于基于 csproj 的项目一次只支持编译一个平台,因此您不能共享 project.json。因此,您的目录结构如下所示:
LibFoo
|
---- LibFoo.csproj
|
---- Platforms
|
---- net45
| |
| ---- project.json
|
---- netcore451
|
---- project.json
您还有两个 MSBuild 目标平台:Net45 和 NetCore451。在为Net45 构建时,您希望将项目文件包含在Platforms/net45 中,而对于NetCore451(顺便说一下,这是Windows 8.1),您希望将项目文件包含在netcore451 中。
您将如何在 MSBuild 中实现这一点?这是我目前所拥有的:
<PropertyGroup>
<ProjectJsonRoot>Platforms\$(Platform.ToLower())</ProjectJsonRoot>
<ProjectJson>$(ProjectJsonRoot)\project.json</ProjectJson>
</PropertyGroup>
<!-- Now $(ProjectJson) is set to the project.json location,
what do I do to 'register' it with the compiler? -->
TL;DR:如果 project.json 与您的 csproj 文件不在同一位置,您将如何将其设置为不同的位置?
感谢您的帮助。
【问题讨论】:
标签: c# .net msbuild asp.net-core dnx