简体   繁体   English

MSBuild更新,这是从哪里来的?

[英]MSBuild update, where dos this come from?

Here is the context : 这是上下文:

  • 2 persons are working on a WPF application (me and a colleague) 2个人正在使用WPF应用程序(我和一位同事)
  • we both use the VS 2017 (i have the version 15.6.6 he has the version 15.6.4) 我们都使用VS 2017(我的版本是15.6.6,他的版本是15.6.4)
  • we are both using the most recent and fully updated .NET Framework 我们都使用最新的和完全更新的.NET Framework
  • we are using MSI installation system to deploy our WPF application + Win services 我们正在使用MSI安装系统来部署WPF应用程序+ Win服务
  • we are using WIX to package all this 我们正在使用WIX打包所有这些

But something strange happened: when I generate the installer, the netstandard.dll version deployed is the 4.6.25908.2, and when he generates the installer, the netstandard.dll is the 4.6.26011.1 但是发生了一些奇怪的事情:当我生成安装程序时,部署的netstandard.dll版本是4.6.25908.2,而当他生成安装程序时,netstandard.dll是4.6.26011.1

After some research, we discover that this dll is coming from MSBUILD, and by checking in the "Developer Command Prompt for VS 2017", using the "msbuild" command : - my version is 15.5.180.xxxx - his version is 15.6.6.xxxx 经过研究,我们发现该dll来自MSBUILD,并通过使用“ msbuild”命令签入“ VS 2017开发人员命令提示符”:-我的版本为15.5.180.xxxx-他的版本为15.6。 6.xxxx

My question is pretty simple, what is responsible for updating msbuild package? 我的问题很简单,是什么负责更新msbuild包?

Obviously, not VS or .Net Framework 显然,不是VS或.Net Framework

I have found some nugget package to add to my projects but I don't want this, I want this dll to be updated properly in "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\MSBuild\\Microsoft\\Microsoft.NET.Build.Extensions\\net461\\lib" directory 我找到了一些要添加到我的项目中的块包,但我不希望这样做,我希望在“ C:\\ Program Files(x86)\\ Microsoft Visual Studio \\ 2017 \\ Professional \\ MSBuild \\ Microsoft \\ Microsoft.NET.Build.Extensions \\ net461 \\ lib“目录

How can I manage to achieve this? 我如何才能做到这一点?

Ok I found what was going on and there was no way to find out with what I posted. 好的,我发现了正在发生的事情,无法找到我发布的内容。

This is the story : 这是故事:

  • I installed VS 2017 Pro with a license 我使用许可证安装了VS 2017 Pro
  • I tried VS 2017 Enterprise for sometimes with a trial license 我有时尝试使用VS 2017 Enterprise获得试用许可证
  • VS 2017 setup made 2 distinct installations VS 2017安装程序进行了2个不同的安装
  • After the trial license expired, I was still using then Enterprise installation downgraded to a Pro version 试用版许可证过期后,我仍在使用,然后将Enterprise安装降级为Pro版本
  • The Enterprise version was up to date but not the original Pro version 企业版是最新版本,但不是原始专业版

Conlusion: by updating the VS 2017 Pro version specifically, it solved my problem 结论:通过专门更新VS 2017 Pro版本,它解决了我的问题

@Hans Passant: the MSBUILD was indeed updated with VS 2017, but for some reason, I don't really understand, I have to update both Pro and Enterprise version to 15.6.6.xxxx in order to update MSBUILD properly @Hans Passant:MSBUILD确实是在VS 2017中更新的,但是由于某些原因,我不太了解,我必须将Pro和Enterprise版本都更新到15.6.6.xxxx,以便正确更新MSBUILD

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM