Dot-Net
為什麼我的 project.json / xproj 項目無法在 Visual Studio 15(預覽版)中打開?
我有一個現有的解決方案,涉及我已經研究了一段時間的多個 project.json(和相應的 xproj)項目。它在 Visual Studio 2015 中執行良好,但無法在 VS 15(預覽版)中載入,僅顯示每個載入失敗圖示。不列印任何消息。
發生了什麼,我該如何解決?
您的 xproj 可能是使用 dnx 工具的早期版本(自動)創建的。這使用了當時支持的特定 MSBuild 導入,但隨著 DNX 工具的發展已被替換(最近:被 DotNet 替換)。
VS 2015 中保留了向後兼容性,但 VS 15中並未保留對這些舊 xproj 的支持。因此,您將需要編輯 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 中使用目前工具時不起作用。所以……你現在可能想要中間選項。