为什么我的project.json / xproj项目没有在Visual Studio 15(预览版)中打开?

时间:2016-04-01 08:13:03

标签: .net visual-studio visual-studio-2015 project.json

我有一个现有的解决方案,涉及多个project.json(以及相应的xproj)项目,我已经工作了一段时间。它在Visual Studio 2015中运行良好,但无法在VS 15(预览版)中加载,只显示每个加载图标的失败。没有打印消息。

发生了什么,我该如何解决?

2 个答案:

答案 0 :(得分:25)

您的xproj可能是使用早期版本的dnx工具(自动)创建的。这使用了当时支持的特定MSBuild导入,但随着DNX工具的发展而被替换(最近:已被DotNet取代)。

在VS 2015中保留了向后兼容性,但在VS 15中保留了对这些旧的xproj 的支持。因此,您需要编辑xproj,或者(更简单)只需< em> 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中不起作用。那么......你现在可能想要中间选项。

答案 1 :(得分:0)

安装Visual Studio 2015工具(预览2):https://go.microsoft.com/fwlink/?LinkId=827546

然后使用路径C中的特定版本配置global.json:\ Program Files \ dotnet \ sdk

适合我...