【发布时间】:2016-04-01 08:13:02
【问题描述】:
我有一个现有的解决方案,涉及多个我已经研究了一段时间的 project.json(和相应的 xproj)项目。它在 Visual Studio 2015 中运行良好,但无法在 VS 15(预览版)中加载,仅显示每个加载失败图标。不打印任何消息。
发生了什么,我该如何解决?
【问题讨论】:
标签: .net visual-studio visual-studio-2015 project.json
我有一个现有的解决方案,涉及多个我已经研究了一段时间的 project.json(和相应的 xproj)项目。它在 Visual Studio 2015 中运行良好,但无法在 VS 15(预览版)中加载,仅显示每个加载失败图标。不打印任何消息。
发生了什么,我该如何解决?
【问题讨论】:
标签: .net visual-studio visual-studio-2015 project.json
您的 xproj 可能是使用 dnx 工具的早期版本(自动)创建的。这使用了当时支持的特定 MSBuild 导入,但随着 DNX 工具的发展已被替换(最近:被 DotNet 替换)。
在 VS 2015 中保留了向后兼容性,但在 VS 15 中没有保留对这些旧 xproj 的支持。因此,您需要编辑 xproj,或者(更简单)只需 delete .xproj 和 .xproj.user,从解决方案中删除项目,然后重新添加;这将使用当前工具重新创建 xproj。
如果你想手动编辑它,你应该替换:
<Import Project="$(VSToolsPath)\AspNet\Microsoft.Web.AspNet.Props"
Condition="'$(VSToolsPath)' != ''" />
...
<Import Project="$(VSToolsPath)\AspNet\Microsoft.Web.AspNet.targets"
Condition="'$(VSToolsPath)' != ''" />
与任一:
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.Props"
Condition="'$(VSToolsPath)' != ''" />
...
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.targets"
Condition="'$(VSToolsPath)' != ''" />
或:
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props"
Condition="'$(VSToolsPath)' != ''" />
...
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets"
Condition="'$(VSToolsPath)' != ''" />
如您所见,这反映了工具的演变。第一个选项在 VS 15 中不再受支持。最后一个选项可能最接近 RTM 的外观,但在 VS 2015 中并不能使用当前工具。所以...你现在可能想要中间选项。
【讨论】:
.DNX.<whatever> 是 RC1 而 .DotNet.<whatever 是 RC2。 (我升级了,其他人没有,我们无法弄清楚为什么新项目没有打开,而旧项目却打开了。
安装 Visual Studio 2015 工具(预览版 2):https://go.microsoft.com/fwlink/?LinkId=827546
然后用路径 C:\Program Files\dotnet\sdk 中的特定版本配置你的 global.json
为我工作...
【讨论】: