从 beta-3 更新的项目不会在构建时产生输出
Project updated from beta-3 isn't producing outputs on build
将项目从 .kproj
格式升级到 .xproj
格式后,我的项目不再生成生成输出。
- 当我检查项目属性对话框时,未选中 "Produce Outputs on Build" 的复选框。检查它、保存属性并重新打开项目属性会导致复选框再次取消设置。
- 当我打开
.xproj
文件时,我看到它包含预期的设置:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<ProduceOutputsOnBuild>True</ProduceOutputsOnBuild>
</PropertyGroup>
事实证明,在升级项目时,一些导入往往会按错误的顺序放置。在我升级后的 .xproj
中,在底部,我发现了这些行:
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.Props" />
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.targets" />
当我将其与新的 .xproj 文件进行比较时,它们如下所示:
<!-- after the first PropertyGroup, but before the "Globals" -->
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.Props" Condition="'$(VSToolsPath)' != ''" />
<!-- at the end, as before -->
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.targets" Condition="'$(VSToolsPath)' != ''" />
将 Microsoft.DNX.Props
参考移动到包含 ProduceOutputsOnBuild
的 PropertyGroup
上方解决了这个问题。 (因为在第一个 PropertyGroup
中设置了 $(VSToolsPath)
,该条件无效。)
将项目从 .kproj
格式升级到 .xproj
格式后,我的项目不再生成生成输出。
- 当我检查项目属性对话框时,未选中 "Produce Outputs on Build" 的复选框。检查它、保存属性并重新打开项目属性会导致复选框再次取消设置。
- 当我打开
.xproj
文件时,我看到它包含预期的设置:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<ProduceOutputsOnBuild>True</ProduceOutputsOnBuild>
</PropertyGroup>
事实证明,在升级项目时,一些导入往往会按错误的顺序放置。在我升级后的 .xproj
中,在底部,我发现了这些行:
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.Props" />
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.targets" />
当我将其与新的 .xproj 文件进行比较时,它们如下所示:
<!-- after the first PropertyGroup, but before the "Globals" -->
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.Props" Condition="'$(VSToolsPath)' != ''" />
<!-- at the end, as before -->
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.targets" Condition="'$(VSToolsPath)' != ''" />
将 Microsoft.DNX.Props
参考移动到包含 ProduceOutputsOnBuild
的 PropertyGroup
上方解决了这个问题。 (因为在第一个 PropertyGroup
中设置了 $(VSToolsPath)
,该条件无效。)