2017-01-23 124 views
2

我在Visual Studio(剛剛更新VS2017到15.0.26119.0 D15REL)創建的.NET Core web app,但是當我試圖構建它的命令行dotnet restore; dotnet build,它失敗如何查看VS2017中的dotnet cli版本?

dotnet --version輸出1.0.0-preview4-004233。它看起來像我的dotnet cli已過時,因爲我安裝後成功構建1.0.0-rc3-004517

是否VS更新自帶的dotnet cli?如果是的話,我怎樣才能在VS中找到其版本? 如果不是......我怎麼知道在創建.NET核心Web應用程序時VS跟隨哪個標準? (這樣我就可以使用VS外面匹配dotnet cli

[更新]這裏有一個解決方法:通過運行

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe 
>Microsoft (R) Build Engine version 15.1.523.56541 

dotnet "C:\Program Files (x86)\dotnet\sdk\1.0.0-preview4-004233\MSBuild.dll 
>Microsoft (R) Build Engine version 15.1.458.808 

回答

0

比較MSBuild引擎版本我怎麼能找到它的VS版本?

要確定什麼版本的dotnet SDK Visual Studio正在使用,請採取以下步驟。

  1. 在Visual Studio中打開項目。
  2. 單擊項目>屬性>生成事件
  3. 在預生成事件命令行中,粘貼dotnet --version
  4. 全部保存按Ctrl + + 小號
  5. 查看輸出按Ctrl + Alt鍵 + Ø
  6. 構建按Ctrl + +

輸出結果如下所示,在這種情況下,SDK版本爲1.0.0-preview4-004233

1>------ Build started: Project: MyProject, Configuration: Debug Any CPU ------ 
1>1.0.0-preview4-004233 
1>MyProject-> C:\MyProject\bin\Debug\netcoreapp1.0\MyProject.dll 
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ========== 
+1

剛剛測試過,這相當於在命令行上運行'dotnet --version' ...這將返回我已安裝的'1.0.0-preview4-004233'。我可以在我的'C:\ Program Files(x86)\ dotnet \ sdk'中安裝一個非常古老的版本,而我需要[1.0.0-rc3-004517](https://github.com/dotnet/core/ blob/master/release-notes/rc3-download.md)來構建我的VS2017項目 – watashiSHUN

+0

@watashiSHUN我也嘗試運行帶有診斷輸出的構建,以查看是否在那裏列出了dotnet版本。不是。 https://blogs.msdn.microsoft.com/msbuild/2005/09/28/cranking-up-the-build-verbosity-in-the-ide/ –

+0

是的,也許VS2017更新沒有它自己的版本' dotnet cli'。它只是創建了可以被特定版本的msbuild所理解的項目...所以如果你想在linux中編譯你的VS2017項目,你需要找到匹配的msbuild引擎版本?只是一個理論,沒有證實 – watashiSHUN