Questions tagged «msbuild»

Microsoft Build Engine,也称为MSBuild,是用于托管代码的构建平台,并且是.NET Framework的一部分。

9
关于MSBuild脚本,有很好的教程吗?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 改善这个问题 我正在开发一个Web应用程序项目,并且需要创建一个构建脚本。我可以从我的CruiseControl服务器触发的构建脚本。由于nant已有很长时间没有维护,我认为MSBuild是必经之路。 我需要构建脚本才能 编译所有程序集 执行单元测试 对单元测试运行NCover分析 部署数据库(取决于参数)。这实际上是一个工具,因为我最终将编写自己的工具来部署数据库。但是该工具的执行应基于某些命令行参数而有条件。 提供定速巡航可以读取和理解的格式的单元测试和覆盖结果。 我认为MSBuild将允许我做所有这些事情。但是我不知道从哪里开始。有人知道一个好的教程可以帮助我开始构建脚本吗?

4
如何抑制特定的MSBuild警告
从命令行运行MSBuild时,有什么方法可以禁用特定的MSBuild警告(例如MSB3253)吗?我的构建脚本通过以下方式调用msbuild.exe: msbuild.exe MySolution.sln /t:Rebuild /p:Configuration=Release 我发现我可以使用msbuild.exe的另一个参数来抑制C#警告(例如CS0618): msbuild.exe MySolution.sln /t:Rebuild /p:Configuration=Release /p:NoWarn=0618 但是,这种方法不适用于MSBuild警告。也许还有另一个魔法属性要设置? 我正在使用.NET 3.5和VS2008。

2
msbuild.exe保持打开状态,锁定文件
我使用TeamCity,后者依次调用msbuild(.NET 4)。我有一个奇怪的问题,就是在构建完成之后(构建是否成功并不重要),msbuild.exe保持打开状态并锁定其中一个文件,这意味着TeamCity每次尝试清除其工作目录,它将失败,并且无法继续。 这几乎每次都会发生。 我真的迷失了这一点,因此我将尝试提供尽可能多的细节。 服务器是2 GB RAM的Intel Core i7,具有Windows Server 2008标准64位SP2。 在TeamCity中,msbuild运行器配置有/m命令行参数(表示使用多个内核) 有问题的文件始终是path中.NET项目之一中引用的相同外部DLL External Tools\Telerik\Telerik.Reporting.Dll。(在External Tools目录中包含其他几个.DLL文件,它们的路径结构相似,它们从未引起此问题)。当前,这是Telerik报告的试用版,以防万一。 发生问题时,msbuild.exe *32任务管理器中始终列出几个进程:我相信有7个进程。使用进程资源管理器,它们看起来都像顶级进程(没有父级)。它们都使用20-50MB的内存和0.0%的CPU。 如果我等待1-3分钟,msbuild.exe进程将自行退出,然后TeamCity可以正确更新工作目录。 如果我手动终止msbuild进程,TeamCity的更新将立即再次起作用。 Windows中的索引服务已关闭(尽管前两点几乎可以肯定是msbuild.exe引起了问题)。 Telerik.reporting.dll没有特殊属性。唯一的SVN属性是svn:mime-type = application/octet-stream 有人遇到过吗?
97 msbuild  teamcity 

4
如何使用csproj多目标.NET Core类库?
当.NET Core仍使用该project.json格式时,您可以构建一个针对多个框架的类库(例如net451,netcoreapp1.0)。 现在,正式的项目格式正在csproj使用MSBuild,您如何指定多个目标框架?我试图寻找这个在VS2017的项目设置,但我能只针对从.NET框架的核心在单一框架(它甚至没有列出我的其他完整的.NET框架版本都已经安装) :

10
使用msbuild复制所有文件和文件夹
我只是想知道是否有人可以通过我尝试编写的某些msbuild脚本来帮助我。我想做的是使用msbuild将所有文件和子文件夹从一个文件夹复制到另一个文件夹。 {ProjectName} |----->Source |----->Tools |----->Viewer |-----{about 5 sub dirs} 我需要做的是将所有文件和子文件夹从tools文件夹复制到应用程序的debug文件夹中。这是我到目前为止的代码。 <ItemGroup> <Viewer Include="..\$(ApplicationDirectory)\Tools\viewer\**\*.*" /> </ItemGroup> <Target Name="BeforeBuild"> <Copy SourceFiles="@(Viewer)" DestinationFolder="@(Viewer->'$(OutputPath)\\Tools')" /> </Target> 生成脚本会运行,但是不会复制任何文件或文件夹。 谢谢


30
如何确定为什么Visual Studio在构建解决方案时可能会跳过项目
我正在调试其他人的工作,解决方案非常大。当我尝试构建整个项目时,解决方案中的几个项目不会构建,而只是跳过。在构建过程中查看输出窗口显示: 1> ------跳过全部重建:项目:pr1lib ------ 如何确定为什么跳过了这些构建?我找不到其他输出。 这与VS2008一起使用,解决方案由c#和c ++代码组成。

17
如何完全清理Visual Studio中的bin和obj文件夹?
如果右键单击文件夹,您将看到“清洁”菜单项。我以为这将清理(删除)obj和bin目录。但是,据我所知,它什么也没做。还有另一种方法吗?(请不要告诉我去Windows资源管理器或cmd.exe)。我想删除obj和bin文件夹,以便我可以轻松地压缩整个内容。

26
“未为此项目设置outputpath属性”错误
我在Visual Studio 2008中有一个多项目解决方案。我刚刚在解决方案中添加了一个名为Release-VersionIncrement的新配置,将“使用发行版”配置指定为基准。所有项目文件都使用该配置进行了更新。但是,当我尝试使用此配置编译特定项目时,出现以下错误: 错误5未为此项目设置OutputPath属性。请检查以确保您指定了有效的配置/平台组合。配置='Release-VersionIncrement'平台='AnyCPU'C:\ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets 539 9 DataConversion 这里发生了什么事?该项目可以在Release或Debug配置中很好地编译。

8
复制到输出目录可复制文件夹结构,但只想复制文件
我有一个VS2008,我想将某些文件从目录复制到我的/bin/文件夹中。我已将文件(位于中/common/browserhawk/)设置为“复制到输出目录”。但是,它也会复制文件夹结构:将文件复制到/bin/common/browserhawk/ 如何将这些文件复制到/bin/?我不想将它们存储在网站的根目录中,以使其正确复制。 相关问题:Visual Studio编译后将.dll和.pdb添加到项目中


12
Visual Studio中大型解决方案的最佳实践(2008)[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我们有一个解决方案,涉及大约100多个项目,其中大多数是C#。自然,打开和构建都需要很长时间,因此我正在寻找此类野兽的最佳实践。我希望得到的答案是: 您如何最好地处理项目之间的引用 应该打开还是关闭“本地复制”? 应该将每个项目都构建到其自己的文件夹,还是应该将它们都构建到相同的输出文件夹(它们都属于同一应用程序) 解决方案的文件夹是整理资料的好方法吗? 我知道将解决方案分为多个较小的解决方案是一种选择,但这带有其自身的一系列重构和令人头疼的问题,因此也许我们可以将其保存在单独的线程中:-)

7
使用msbuild执行文件系统发布配置文件
我有一个用VS2010创建的ac#.Net 4.0项目,现在正在用VS2012访问。 我正在尝试仅将所需的文件从此网站发布到目标位置(C:\ builds \ MyProject [Files]) 我的文件结构: ./ProjectRoot / MyProject.csproj ./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml 我正在通过MSBuild运行以下命令: C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe ./ProjectRoot/MyProject.csproj / p:DeployOnBuild = true /p:PublishProfile=./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml 这是FileSystemDebug.pubxml中的xml <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <WebPublishMethod>FileSystem</WebPublishMethod> <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> <LastUsedPlatform>Any CPU</LastUsedPlatform> <SiteUrlToLaunchAfterPublish /> <ExcludeApp_Data>False</ExcludeApp_Data> <publishUrl>C:\builds\MyProject\</publishUrl> <DeleteExistingFiles>True</DeleteExistingFiles> </PropertyGroup> </Project> 产生的行为是: 在此处创建一个zip文件:./ProjectRoot/obj/Debug/Package/MyProject.zip 什么都没有部署到<publishUrl>C:\builds\MyProject\</publishUrl>WTF 所创建的zip文件是一顿可口的早餐,并且充满了该应用程序不需要的文件。 当我通过Visual …


13
无法加载文件或程序集'Microsoft.Build.Framework'(VS 2017)
当我尝试运行命令“ update-database”时,出现此异常: 指定“ -Verbose”标志以查看应用于目标数据库的SQL语句。System.IO.FileNotFoundException:无法加载文件或程序集“ Microsoft.Build.Framework,版本= 15.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。文件名:“ Microsoft.Build.Framework,版本= 15.1.0.0,文化=中性,PublicKeyToken = b03f5f7f11d50a3a” WRN:程序集绑定日志记录已关闭。要启用程序集绑定失败日志记录,请将注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)设置为1。注意:程序集绑定失败日志记录会降低性能。要关闭此功能,请删除注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog]。 无法加载文件或程序集“ Microsoft.Build.Framework,版本= 15.1.0.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.