我正在尝试使用MSBuild构建具有指定目标平台的解决方案(我需要二进制文件,x86和x64).这是我尝试的方式:
C:\WINDOWS\Microsoft.NET\Framework\v3.5>MsBuild SolutionPath\Solution.sln /t:Rebuild /p:Configuration=Release /p:Platform="x86"
Run Code Online (Sandbox Code Playgroud)
但是,如果平台与"任何CPU"不同,则构建始终会失败.我究竟做错了什么?
这是while输出MSBuild打印:
C:\ WINDOWS\Microsoft.NET\Framework\v3.5> MsBuild SolutionPath\Solution.sln/t:Rebuild/p:Configuration = Release/p:Platform ="x86"Microsoft(R)Build Engine Version 3.5.30729.1 [ Microsoft .NET Framework,版本2.0.50727.3082]版权所有(C)Microsoft Corporation 2007.保留所有权利.
建立于2010年7月1日8:28:10开始.在节点0上项目"SolutionPath\Solution.sln"(重建目标t(s)).SolutionPath\Solution.sln:错误MSB4126:指定的解决方案配置"Release | x86"无效.请使用"配置和平台"属性指定有效的解决方案配置(例如,MSBuild.exe Solution.sln/p:Configuration = Debug/p:Platform ="Any CPU")或将这些属性留空以使用默认解决方案配置.完成构建项目"SolutionPath\Solution.sln"(重建目标) - 失败.
建立失败.
"SolutionPath\Solution.sln"(重建目标)(1) - >(ValidateSolutionConfiguration target) - > SolutionPath\Solution.sln:错误MSB4126:指定的解析配置"Release | x86"无效.请使用Configuration和Platform属性指定有效的解决方案配置(例如MSBuild.ex e Solution.sln/p:Configuration = Debug/p:Platform ="Any CPU")或将这些专业保留为空以使用默认解决方案配置.
Run Code Online (Sandbox Code Playgroud)0 Warning(s) 1 Error(s)
时间流逝00:00:00.03
如果我尝试使用devenv为x86/x64构建它,它可以很好地工作,但是我正在尝试设置构建服务器而不安装所有必需的Visual Studio版本.顺便说一句,如果有一个更好的免费工具(支持.NET框架4),我很乐意听到它.
我想使用mstest.exe在构建服务器上运行我的单元测试,但我不想在构建服务器上安装Visual Studio.我可以在没有Visual Studio的情况下安装MSTest吗?
我正在尝试将我们的构建服务器(jenkins)从Visual Studio 2015升级到2017年.我们正在通过MS-Build构建.我已按照此答案中的说明下载并安装了MS-Buld工具.如果我编译我的项目,我会收到一个Microsoft.WebApplication.targets
未找到的错误.
详细错误:
error MSB4226: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets"
Run Code Online (Sandbox Code Playgroud)
我在MS-Build目录中执行了一个find:
PS C:\Program Files (x86)\MSBuild> dir -Recurse -Filter "Microsoft.WebApplication.targets"
Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 11.01.2012 00:23 19654 Microsoft.WebApplication.targets
Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 22.07.2013 01:25 19995 Microsoft.WebApplication.targets
Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 06.07.2015 21:55 20118 Microsoft.WebApplication.targets
Directory: C:\Program …
Run Code Online (Sandbox Code Playgroud)在FxCop 10之后,Microsoft停止为FxCop发布单独的安装程序.在安装Visual Studio 2013/2015/2017之后,官方目前只能运行代码分析(FxCop 12.0/14.0/15.0).但是,我们坚持不在构建代理上安装Visual Studio(安装需要保留在 - 与我们在开发者计算机上获得的内容同步等).
那么我将如何让FxCop 12.0/14.0/15.0在构建代理上工作,最好不要安装其他任何东西?不过,我会接受为源代码控制添加一些二进制文件和msbuild文件.否则:有没有办法只使用Visual Studio 2013/2015/2017安装程序安装FxCop的东西?
注意:我们使用Teamcity作为构建服务器.
由于特定环境和FxCop版本有多个有效答案,我可以自由地将它们链接到此处以便于访问:
我在VS 2017社区中遇到自动完成问题.
以前我从学校开始使用VS 2017 Enterprise,但是密钥已过期.所以我搬到了社区.
以前,一切都很好,但现在它根本不起作用.
我在这里:在这里 输入链接描述
但是没有用,所以在这里找到另一个解决方案:在这里 输入链接描述
我得到了这个:
建立失败.
C:\ Program Files(x86)\ Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1601,5):错误MSB4036:找不到"GetReferenceNearestTargetFrameworkTask"任务.请检查以下内容:1.)项目文件中任务的名称与任务类的名称相同.2.)任务类是"public"并实现Microsoft.Build.Framework.ITask接口.3.)在项目文件中或位于"C:\ Program Files(x86)\ Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin"目录中的*.tasks文件中正确声明任务.0警告1错误
时间流逝00:00:00.11
你知道接下来该做什么吗?
谢谢
如何在没有安装那些疯狂的视觉工作室程序的情况下获得msbuild.exe?
我需要它来进行npm安装才能完成工作.我在Windows 7上,无法在线购买旧版2013 Express.
可以在此处找到早期版本的MSBuild: %programfiles(x86)%\msbuild\<version>\bin\msbuild.exe.
但对于Visual Studio 2017RC来说,路径是%programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\msbuild.exe
.安装类型:enteprise,社区或专业,似乎是路径的一部分.这使得很难在BAT文件中指定msbuild的正确路径,该文件应该适用于具有不同版本的Visual Studio 2017的许多不同计算机.
从bat文件中调用Visual Studio 2017 RC版本的Msbuild的最佳方法是什么?还是来自PowerShell?
我们在TFS 2015中有一个构建定义,它在Visual Studio 2015项目和解决方案中运行良好.我们现在决定升级到Visual Studio 2017,因此我们希望在Visual Studio构建任务中定位Visual Studio 2017.我们在构建代理上安装了Visual Studio 2017.不幸的是,Visual Studio构建任务中唯一可用的选项是2012年,2013年,2015年和最新版本.我们尝试过最新版本,但在构建代理上找不到Visual Studio 2017.它也不适用于msbuild任务.
我安装了Visual Studio中建立一个使用链接(在底部下的其他工具和框架)同时安装工作量工具2017年:的Visual C++编译工具和Web开发构建工具.我保留了默认文件夹.
根据相当多的文章,例如Microsoft Web Application Targets is Missing,我希望在文件夹:C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
folder中看到vs_buildtools.exe ,但是没有.我看到了MSBuild.exe,你可以从这个截图中看到.
这是安装程序的屏幕截图.
我如何获得vs_buildtools.exe?
显然,解决我的Microsoft引发的Web应用程序目标丢失问题的唯一方法是,因为它不再是15.0,使用此可执行文件并vs_buildtools.exe --add Microsoft.VisualStudio.Workload.WebBuildTools
按照答案指定运行.我现在也很恼火,应该存在的东西没有.Microsoft是否在更新的Build Tools版本中更改了某些内容?
有没有办法在构建服务器上安装版本15.3的MSBuild而不安装Visual Studio 2017?
我尝试从https://www.visualstudio.com/downloads/安装"Visual Studio 2017构建工具",按照/sf/answers/2988816211/,但我最终得到的是版本15.1:
msbuild /version
Microsoft (R) Build Engine version 15.1.1012.6693
Copyright (C) Microsoft Corporation. All rights reserved.
15.1.1012.6693
Run Code Online (Sandbox Code Playgroud)
我们需要15.3版来构建Azure Functions项目.