我在VS2010中开发了一个C ++项目(某种控制台32位应用程序),该项目在我的PC上构建良好(Windows 7 32位).我的PC安装了Microsoft SDK 7.0A,我认为与VS2010捆绑在一起. 我尝试在构建服务器上构建项目,该项目没有安装任何视觉工作室 - 那里只有Microsoft SDK 7.1. 我尝试在MSBUILD的帮助下构建该项目(最终将成为TeamCity的跑步者的任务),在构建服务器上,我会遵循错误(提供详细的日志): Project "E:\win\core.sln" on node 1 (default targets). ValidateSolutionConfiguration: Building solution configuration "Debug|Win32". Project "E:\win\core.sln" (1) is building "E:\win\core_unittests.vcxproj" (2) on
以下是关于 msbuild-4.0 的编程技术问答
我一直在尝试在迁移的.NET核心项目上运行dotnet build命令(从1.0.0-preview2-003131到1.0.4).我遵循了迁移该项目的步骤 c:\ program 文件\ dotnet \ sdk \ 1.0.4 \ microsoft.common.currentversion.targets(2867,5): 错误MSB4216:无法执行" Generateresource"任务,因为 MSBUILD无法创建或连接到使用运行时" CLR4"的任务主机 和建筑" x86".请确保(1)请求的运行时 和/或架构在机器上可用,(2) 需要可执行 存在并且可以运行. 我较早地迁移了其他几个服务,在整理了几个软件包依赖项之后,CLI命令工作正常.我检查了错误中提到的SDK位置,但找不到msbuild.exe(我确实找到了msbuild.dll和msbuild.deps文件).我需要CLI命令来为我拥有的CI/CD设置工作.对解密和解决此错误的任何帮助都非常感谢.
我试图在(主要是C ++)项目上运行MSBUILD(想象一个非常庞大的代码库). Visual Studio 2015是有问题的工具集( Windows 7 SP1和VS 2015 Update 2 ).即使使用/m:1(从而强迫它仅使用一个处理器),我还是发现一些完全随机项目不断悬挂在编译阶段.例如,当此问题发生时,如果我查看令人讨厌的项目及其组成的文件,我可以看到.OBJ文件已为每个翻译单元成功创建.但是,系统永远不会进入链接阶段.我看到CL.EXE的两个实例在任务管理器上闲置,什么也不做.也许在30分钟左右后,当我杀死其中一个实例时,我会得到类似的东西: cl : Command line error D8040: error creating or communicating with child process [Path_To_The_Project_Where_The_Compiler_Was_Stuck.vcxproj] 之后,令人惊讶的是,编译器在其Merr
我目前正在尝试将Visual Studio 2008中的Wix 3.5自定义操作项目转换为Wix 3.7和Visual Studio 2012,并且我将获得以下例外: 找不到类型或名称名称'mynamespace' 缺少使用指令或汇编参考?) 肯定会引用DLL,而Visual Studio 2012可以看到名称空间没有问题.名称空间下的所有内容甚至都在Intellisense中弹出,但是当我构建它时,我会得到此例外. 有人知道这里发生了什么? 附加信息: 我引用的名称空间是.NET 2.0库,并且自定义操作项目是.NET 2.0项目. 编辑: 进一步调查后,我得到了此警告,我猜这是问题的根源: 主要参考" mynamespace,版本= 8.5.1.20,culture =中性, publicKeyToken = f593502af6ee46ae,processorarchitecture = msil"不能 可以解决,因为它对.NET具有
Project("{00000000-0000-0000-0000-000000000000}") = "Test Projects", "TestProjects", "{5FAF487E-B913-4D46-983E-CB13FDF36FCB}" EndProject Project("{11111111-1111-1111-1111-111111111111}") = "ProjPropHelperAPI", "ProjPropHelperAPI\ProjPropHelperAPI.vcxproj", "{22222222-2222-2222-2222-222222222222}" EndProject Project("{33333333-3333-3333-3333-333333333333}") = "ProjectPropertiesHelperAPI", "ProjectPropertiesHelperAPI\ProjectPropertiesHelperAPI.cspr
我有一个项目,该项目是我从makefile转换的,该项目具有一个源文件,该文件期望编译器的命令行选项.例如,如果您使用,则使用GCC构建项目时,它将吐出用于编译程序的GCC命令行. 我该如何在Visual Studio中做同样的事情,以便吐出用于编译程序的CL命令行?基本上,我想击中F7(构建解决方案),并使整个事情自动化.我找不到宏.谢谢 编辑;我的意思是从编程上讲,因此,例如,当我运行程序输出以包含使用的CL.EXE命令字符串时,我想要.您可以在Configuration Properties > C/C++ > Command Line > All Options上看到命令行,但是我找不到它的宏或将其封装在文件中的宏. 解决方案 a .vcxproj是MSBuild项目格式的Visual Studio项目.您可以使用Visual Studio GUI或MSBUILD API来运行msbuild.exe,devenv.exe,devenv.com来构建它.
我有一个带有9个项目的解决方案.每个项目中的所有参考都将其胚属属性设置为false. 当我从VS构建它时,这些引用的二进制文件均未将其复制到输出构建目录.同样,当我使用MSBUILD构建时,我只看到项目二进制文件而没有参考. 但是,当我在msbuild命令中指定输出路径时,会复制一些引用,而我不知道为什么?我忘记设置了一些设置吗?有人看过吗? 解决方案 当您在不设置OutDir属性的情况下构建应用程序时,将文件复制到项目属性中指定的路径(构建\输出路径).此后,还有另一个步骤将引用的项目输出(*.dll文件)复制到您的应用程序的OutDir(*.EXE).但是,如果将CopyLocal设置为false,则不会发生最后一步.这样: ProjectEXE\OutDir = c:\a\bin ProjectDLL\OutDir = c:\b\bin 请注意两个OutDir不同的事实(在您的项目属性中指定了不同). 但是,当您使用命令策略设置OutDir时,您
我们所有人都已经知道VS2010已经对其构建系统进行了重大升级,该系统基于MSBUILD. 根据MS代表的说法(请参阅 Visual Studio 2010始终在冬眠/重新启动计算机后重建项目)MSBUILD现在将自己注入其他工具(例如C ++编译器,链接器等),以找出目标的依赖性. br> 这种方法的缺点之一是,由于不相关的文件的修改,您的项目现在可能会被迫重建 就我而言,它是C:\PROGRAMDATA\NVIDIA CORPORATION\DRS\NVDRSDB0.BIN,它通过NVIDIA Update Service(Windows 7 32位)定期更改. 我已经发现,通过将VS2010选项" msbuild项目构建输出词语"和" msbuild project构建日志文件file file dermosity "到" 诊断". 之后,我能够在构建输出窗口中看到问题的原因: Task "CL" (TaskId:55) Read Tracking Logs:
假设我在首次安装和打开Microsoft Visual Studio 2010之后立即执行以下步骤: File - > New - > Project - > Win32 Console App - > Finish. 转到Property Manager窗格 - >展开Debug | Win32 - >右键单击Microsoft.Cpp.Win32.user - >选择Properties. 以无知的方式疯狂地改变设置,通常像个傻瓜. 单击Apply,保存项目,并关闭Visual Studio. 如何将Microsoft.Cpp.Win32.user属性表还原为默认值"工厂"设置? 解决方案 我不确定这是否是官方方法,但确实有效... 默认属性表存储在以下目录中: %USERPROFILE%\AppData\Local\Microsoft\MSBuild\v4.0 ,如果删除它们,则将使用默认设置启动默认设置自动重新创建它们. 因此,
vs 2010,Win Server 2003,.NET 3.5解决方案,这些解决方案是从.NET 1.1 migur的 解决方案中的所有项目均已延迟签名.可用于调试可以成功构建Soluton,但始终无法发布以下错误. SGEN:错误:无法加载文件或汇编'汇编,版本= 1.0.5000.0,culture =中性,publicKeyToken = xxxxxxxxx'或其依赖项之一.强名称验证失败. (Hresult的例外:0x8013141a) 汇编是我要构建的项目.该项目的所有引用的DLL都保存在本地文件夹中,并已签名.如果我更改项目的属性汇编签署它,则可以成功构建解决方案. 我创建了一个sgen.exe.config,以遵循 http://social.msdn.microsoft.com/forums/forums/nl-nl-nl/mmsbuild/thread/thread/6955581ae-77e7-4c3a-4c3a-4c3a-4c3a-bb3a bb3
我正在尝试使用WriteCodeFragment msbuild任务来创建AssemblyVersion属性.我有一个问题创建一个属性组以正确传递处理所需的ITaskItem数组.有人可以帮助一个例子吗? 解决方案 这将创建一个名为BuildVersion.cs的文件,其中AssemblyVersion属性为123.123.123.123.如果删除OutputFile,则将使用随机生成的文件名. Compile项目名称会自动将项目添加到编译项目中(在构建中包括BuildVersion.cs). FileWrites项目名称允许在清洁过程中删除文件. 123.123.123.123
我想将BIN文件夹中生成的DLL复制到VS2010的Post Build Event上的文件位置. 可以帮助我. 谢谢 解决方案 您想添加类似: 的内容 xcopy /Q /Y "$(TargetPath)" "C:\path\to\somewhere\" 在 build build Events 选项卡中,在项目属性页面上的构建事件. /Y将阻止其提示您确认覆盖物. 如果您还需要复制.pdb文件,则需要类似的内容: xcopy /Q /Y "$(TargetDir)$(TargetName).*" "C:\path\to\somewhere\" 您可以通过单击"属性"选项卡中的编辑后构建... 按钮,然后在"属性"选项卡中单击 >按钮. 其他解决方案 右键单击项目,然后转到properties-> build Events->后构建命令行. 然后在: 中键入此内容 Cmd /C Copy "$(TargetPath)" "
我有一系列需要编译和发布的项目,并通过单独的MSBUILD参数部署到单独的目录.就目前而言,我每个人都有单独的构建.例如,项目1: MSBuild Arguments: /target:myTarget /property:PublishDir=\\1.1.1.1\PublishDir1 和项目2: MSBuild Arguments: /target:myTarget /property:PublishDir=\\1.1.1.2\PublishDir2 但是,我想将它们合并为一个构建.我遇到的问题是,尽管TFS将允许我在构建中指定多个项目,但MSBUILD参数适用于所有项目.是否有一种快速的方法可以强制每个项目的独特的构建参数,或者我需要创建一个新的构建模板来执行此操作? 解决方案 我恐怕您需要新的构建模板将其他参数传递给模板. 但是,如果您试图根据不同的项目将构建输出发布到不同目录,则可以通过为每个项目设置相同的发布配置文件来实现它.为每个项目添加出
我试图与Teamcity一起运行MSBUILD. 我有一个批处理文件,然后传递到IT参数,构建工作起作用.当我尝试通过Teamcity运行时,我会在下面获得错误 [13:24:46][MSBuild output] Start MSBuild... [13:24:46][MSBuild output] 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe' '"@C:\TeamCity\buildAgent\work\999585556854a516\Build\Default.msbuild.teamcity.msbuild.tcargs" C:\TeamCity\buildAgent\work\999585556854a516\Build\Default.msbuild.teamcity' [13:24:46][MSBuild output] working dir = 'C:\TeamCity\bui
如何获得microsoft.build.utilities.v3.5?我正在使用StyleCop 4.7,似乎在Stylecop.dll中使用的Stylecop msbuild任务是依赖项microsoft.build.utilities.v3.5.您知道如何获得该DLL吗?我的意思是要下载和安装什么才能获得DLL(安装Visual Studio是一个选择) 解决方案 我与 visual-stylecop.msbuild版本4.7.7.59.0 . 我通过导航到控制面板 - >"程序 - >将Windows"功能开启或关闭和安装 .NET Framework 3.5(包括.NET 2.0和3.0) 其他解决方案 如果尚未明确安装在计算机上,请尝试下载和安装.NET v3.5框架. http://www.microsoft us/download/lides.aspx?id = 21 其他解决方案 我知道这个问题已经超过两年了,但是这可能对其他人有用..