2017-01-23 123 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