为什么我的 project.json / xproj 项目无法在 Visual Studio 15(预览)中打开?
Why does my project.json / xproj project not open in Visual Studio 15 (preview)?
我有一个涉及多个 project.json(和相应的 xproj)项目的现有解决方案,我已经研究了一段时间。它在 Visual Studio 2015 中运行良好,但无法在 VS 15(预览)中加载,只是为每个显示加载失败图标。不打印任何消息。
这是怎么回事,我该如何解决?
您的 xproj 可能是使用早期版本的 dnx 工具创建的(自动)。这使用了当时支持的特定 MSBuild 导入,但随着 DNX 工具的发展已被替换(最近:被 DotNet 替换)。
向后兼容性保留在 VS 2015 中,但对这些旧 xproj 的支持尚未保留在 VS 15 中。因此,您需要编辑您的 xproj,或者(更简单)只需 删除 .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 中无法使用当前工具。所以...您现在可能想要中间选项。
安装 Visual Studio 2015 工具(预览版 2):https://go.microsoft.com/fwlink/?LinkId=827546
然后在路径 C:\Program Files\dotnet\sdk
中使用特定版本配置您的 global.json
适合我...
我有一个涉及多个 project.json(和相应的 xproj)项目的现有解决方案,我已经研究了一段时间。它在 Visual Studio 2015 中运行良好,但无法在 VS 15(预览)中加载,只是为每个显示加载失败图标。不打印任何消息。
这是怎么回事,我该如何解决?
您的 xproj 可能是使用早期版本的 dnx 工具创建的(自动)。这使用了当时支持的特定 MSBuild 导入,但随着 DNX 工具的发展已被替换(最近:被 DotNet 替换)。
向后兼容性保留在 VS 2015 中,但对这些旧 xproj 的支持尚未保留在 VS 15 中。因此,您需要编辑您的 xproj,或者(更简单)只需 删除 .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 中无法使用当前工具。所以...您现在可能想要中间选项。
安装 Visual Studio 2015 工具(预览版 2):https://go.microsoft.com/fwlink/?LinkId=827546
然后在路径 C:\Program Files\dotnet\sdk
中使用特定版本配置您的 global.json适合我...