[英]Correct location of MSBuild.exe to build .net 4.5 application using command line
I have asp.net web api application targeting 4.5 framework. 我有针对4.5框架的asp.net Web API应用程序。
I am trying to create a docker image for my application. 我正在尝试为我的应用程序创建一个docker映像。 In order to build the application, I can use MSBuild.exe available in
C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe
or C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\MSBuild.exe
locations. 为了构建应用程序,我可以使用
C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe
或C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\MSBuild.exe
C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe
C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\MSBuild.exe
位置。
When I build using C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe
location, I get error saying " C:\\MyApp-Api\\MyApp-Api.csproj(985,3) : error MSB4019: The imported project "C:\\Program Files (x86)\\MSBuild\\Microsoft \\VisualStudio\\v11.0\\WebApplications\\Microsoft.WebApplication.targets" was not f ound. Confirm that the path in the declaration is correct, and that th e file exists on disk." 当我使用
C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe
位置进行C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe
,出现错误消息“ C:\\ MyApp-Api \\ MyApp-Api.csproj(985,3):错误MSB4019:导入的项目“ C:\\ Program Files(x86)\\ MSBuild \\ Microsoft \\ VisualStudio \\ v11.0 \\ WebApplications \\ Microsoft.WebApplication.targets”不正确。请确认声明中的路径正确,并且文件存在于磁盘上。”
I am able to build my application using C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\MSBuild.exe
location. 我可以使用
C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\MSBuild.exe
位置来构建应用程序。
Questions: 问题:
C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe
location is the right approach as it comes with default location and I think MSBuild in program files comes due to installation of Visual Studio. C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe
位置是正确的方法,因为它带有默认位置,并且我认为程序文件中的MSBuild是由于安装了Visual Studio而引起的。 and on my Build server I will not have visual studio installed. I was browsing web with a similar query today and stumbled upon this random link to a Veracode extension which lists nicely the difference. 我今天在浏览类似的查询的网页时,偶然发现了指向Veracode扩展程序的随机链接,其中很好地列出了区别。
The first two paths below that contain Professional differ based on the edition of Visual Studio you have installed. 下面的包含Professional的前两个路径因您安装的Visual Studio版本而异。 Replace Professional with Enterprise or Community, when appropriate.
在适当的情况下,将Professional替换为Enterprise或Community。
Note: the Visual Studio Preview install also changes the path based on Enterprise, Professional, or Community. 注意:Visual Studio Preview安装还会根据Enterprise,Professional或Community更改路径。
C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\MSBuild\\15.0\\Bin\\ C:\\ Program Files(x86)\\ Microsoft Visual Studio \\ 2017 \\ Professional \\ MSBuild \\ 15.0 \\ Bin \\
C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\MSBuild\\15.0\\Bin\\amd64\\ C:\\ Program Files(x86)\\ Microsoft Visual Studio \\ 2017 \\ Professional \\ MSBuild \\ 15.0 \\ Bin \\ amd64 \\
C:\\Program Files (x86)\\Microsoft Visual Studio\\Preview\\Professional\\MSBuild\\15.0\\Bin C:\\ Program Files(x86)\\ Microsoft Visual Studio \\ Preview \\ Professional \\ MSBuild \\ 15.0 \\ Bin
C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\MSBuild\\15.0\\Bin\\ C:\\ Program Files(x86)\\ Microsoft Visual Studio \\ 2017 \\ BuildTools \\ MSBuild \\ 15.0 \\ Bin \\
C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\MSBuild\\15.0\\Bin\\amd64\\ C:\\ Program Files(x86)\\ Microsoft Visual Studio \\ 2017 \\ BuildTools \\ MSBuild \\ 15.0 \\ Bin \\ amd64 \\
C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\ C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\amd64\\ C:\\ Program档案(x86)\\ MSBuild \\ 14.0 \\ Bin \\ C:\\ Program档案(x86)\\ MSBuild \\ 14.0 \\ Bin \\ amd64 \\
C:\\Program Files (x86)\\MSBuild\\12.0\\Bin\\ C:\\Program Files (x86)\\MSBuild\\12.0\\Bin\\amd64\\ C:\\ Program档案(x86)\\ MSBuild \\ 12.0 \\ Bin \\ C:\\ Program档案(x86)\\ MSBuild \\ 12.0 \\ Bin \\ amd64 \\
C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\ C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\ C:\\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ C:\\ Windows \\ Microsoft.NET \\ Framework64 \\ v4.0.30319 \\
It seems like you have both VS2012 and VS2015 installed. 看来您同时安装了VS2012和VS2015。 I dont know much about ASP.NET and docker but will try to answer your questions:
我对ASP.NET和docker不太了解,但是会尝试回答您的问题:
If you dont mind me asking - Why not switching to ASP.NET Core ? 如果您不介意我问-为什么不切换到ASP.NET Core?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.