Questions tagged «msbuild»

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

9
如何将ILMerge集成到Visual Studio生成过程中以合并程序集?
我想将一个.NET DLL程序集和一个VB.NET控制台应用程序项目引用的一个C#类库项目合并到一个命令行控制台可执行文件中。 我可以从命令行使用ILMerge做到这一点,但是我想将参考程序集和项目的这种合并集成到Visual Studio项目中。从我的阅读中,我了解我可以通过MSBuild任务或Target来完成此任务,只需将其添加到C#/ VB.NET Project文件中,但是由于MSBuild是大型主题,因此找不到具体示例。此外,我找到了一些将ILMerge命令添加到构建后事件的参考。 如何将ILMerge集成到只是MSBuild项目的Visual Studio(C#/ VB.NET)项目中,以将所有引用的程序集(copy-local = true)合并到一个程序集中? 这如何绑定到可能的ILMerge.Targets文件中? 使用构建后事件更好吗?


8
用于删除文件的MSBuild Task语法
我正在尝试编写一个MSBuild任务,该任务将从生产构建脚本中bin文件夹中的Obj目录和PDB删除,并且似乎无法使其正常运行。 有没有人提供执行此操作或类似操作的示例,或指向使用MSBuild删除文件和目录的简单示例的链接?

15
Visual Studio 2013:数据库项目MSBuild错误
我在Visual Studio 2013中将数据库项目作为解决方案的一部分。过去三周一直运行良好,现在突然无法构建,因此我无法发布任何更改。我收到一个MSBuild错误: “ C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTask​​s.targets(513,5):错误:MSB4018:” SqlBuildTask“任务意外失败System.MethodAccessException:尝试通过方法'Microsoft.Data.Tools.Schema.Sql.Build.SqlTask​​Host.OnCreateCustomSchemaData(System.String,System.Collections.Generic.Dictionary`2)'访问方法'Microsoft.Data.Tools。 “ Components.Diagnostics.SqlTracer.ShouldTrace(System.Diagnostics.TraceEventType)'失败。 任何人有任何想法吗?今天早上我所做的就是从源代码管理中提取最新的更改。我看不到这怎么会弄乱实际的MSBuild过程,而上次签到的那个人根本没有任何问题。

1
文件路径中的两个星号
以下文件路径是什么意思? $(Services_Jobs_Drop_Path)\**\*.config 变量只保留一些路径,没有什么有趣的。我更担心的是什么**意思。有任何想法吗? PS如果有帮助,则在msbuild脚本中使用以下路径。



7
找不到MSBuild目标软件包
我想打包我的VS2010 Web应用程序项目,准备使用msdeploy进行部署。在开发机器上,我可以使用: MSBuild.exe "C:\path\to\WebApp.csproj" /target:package 但是在我的构建服务器上,我收到此错误: 错误MSB4057:项目中不存在目标“包”。 我在构建服务器上缺少什么?

7
VS2010如何在项目中包含文件,在构建或发布期间自动将它们复制到构建输出目录
任务是形成Visual Studio 2010项目,以便在任何构建或发布过程中foo.exe应将某些实用程序复制到输出(bin)目录。 早期,我在.csproj(MSBuild文件)中设置了PostBuildEvent任务: <PropertyGroup> <PostBuildEvent> Copy "$(SolutionDir)Tools\foo.exe" "$(ProjectDir)$(OutDir)foo.exe" </PostBuildEvent> </PropertyGroup> 但这不是普遍的。发布期间(Visual Studio 2010)foo.exe出现在bin目录中,但不会复制到输出发布目录中。也许我所做的一切完全错误,并且有标准的机制将文件包含在项目中,以便以后在构建或发布期间复制到bin?


8
VS2015:警告MSB3884:找不到规则集文件
将WinForms VS2013项目升级到VS2015后,我开始看到MSB3884“找不到规则集文件”警告。 一次Google搜索显示了一篇MSDN文章,其中有Stack Overflow文章指向以及许多其他站点。 类似的问题:33020507 MSDN:VS2015 MSB3884警告 我同时安装了VS2013和VS2015。 提供警告的项目文件(以及未提供警告的项目)没有这些条目。 <CodeAnalysisRuleSetDirectories> <CodeAnalysisRuleDirectories> 如果我从项目文件中删除其他两个条目,那么问题就消失了,这很明显,因为没有设置规则文件。 <CodeAnalysisIgnoreBuiltInRuleSets> <CodeAnalysisIgnoreBuiltInRules> 我正在尝试使用msbuild从外部进行构建,但是VS2015也倾向于显示该问题。 有趣的是,如果我单击项目属性“代码分析器”区域中的“打开”按钮,则会得到文件。 指定不同的规则集没有区别。这使我认为可能存在环境变量设置,而没有想到任何设置。代码分析器是项目文件的功能。我可以添加目录属性,但共识是要取出路径<CodeAnalysisRule*Directories>。 GUI使用默认值: ' 这是一个典型的项目文件片段。 <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> <DebugSymbols>true</DebugSymbols> <OutputPath>bin\x86\Debug\</OutputPath> <DefineConstants>TRACE;DEBUG</DefineConstants> <DebugType>full</DebugType> <PlatformTarget>x86</PlatformTarget> <CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets> <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules> <Prefer32Bit>false</Prefer32Bit> <TreatWarningsAsErrors>true</TreatWarningsAsErrors> <CodeAnalysisRuleSet>BasicCorrectnessRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> <DebugSymbols>true</DebugSymbols> <OutputPath>bin\x64\Debug\</OutputPath> <DefineConstants>TRACE;DEBUG</DefineConstants> <DebugType>full</DebugType> <PlatformTarget>x64</PlatformTarget> <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules> </PropertyGroup> 在不从项目文件中删除“代码分析”行的情况下,尽管再次保存项目文件只会将其重新添加,但如何消除/修复警告?

6
Visual Studio 2012解决方案的TeamCity中的MSBuild
我有一个要在TeamCity中构建的VS 2012 Web项目/ sln。它使用安装在TeamCity上的.NET 4.5。 TeamCity服务器仅安装了VS 2010。 构建运行时出现此错误: C:\BuildAgent\work\d5bc4e1b8005d077\CUSAAdmin.Web\CUSAAdmin.Web.csproj(799, 3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. Project CUSAAdmin.Web\CUSAAdmin.Web.csproj failed. Project CUSAAdmin.sln failed. 它正在尝试使用Visual Studio 2012(v11.0)进行构建。 我在build.xml中将VisualStudioVersion设置为10? <Target Name="BuildPackage"> …

4
msbuild,定义条件编译符号
我可能只是盲目的,但是是否有命令行在MSBUILD中指定条件编译符号? 我的构建脚本中当前包含以下行: SET MSBUILD=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe SET CONFIG=Debug %MSBUILD% /p:Configuration=%CONFIG% /p:OutputPath=..\..\output source\MyProject\MyProject.csproj 我想添加一个条件。在Visual Studio中,我可以只进入Project Properties => Build => Conditional编译符号,但是我还没有看到msbuild的选项? 如果您知道我是否可以完全覆盖.csproj文件中已经指定的所有符号,以确保仅输入Buildscript中的条件,则可以使用Bonus Karma。

6
MSBuild脚本和VS2010发布应用Web.config转换
因此,我已经安装了VS 2010,并且正在为TeamCity构建集成修改MSBuild脚本。除了一个例外,一切都运转良好。 我如何告诉MSBuild我要应用发布发布时创建的Web.conifg转换文件... 我有以下代码生成已编译的网站,但它将Web.config,Web.Debug.config和Web.Release.config文件(共3个)输出到已编译的输出目录。在studio中,当我执行发布到文件系统时,它将进行转换并仅输出具有适当更改的Web.config ... <Target Name="CompileWeb"> <MSBuild Projects="myproj.csproj" Properties="Configuration=Release;" /> </Target> <Target Name="PublishWeb" DependsOnTargets="CompileWeb"> <MSBuild Projects="myproj.csproj" Targets="ResolveReferences;_CopyWebApplication" Properties="WebProjectOutputDir=$(OutputFolder)$(WebOutputFolder); OutDir=$(TempOutputFolder)$(WebOutputFolder)\;Configuration=Release;" /> </Target> 任何帮助将是巨大的..! 我知道可以通过其他方式完成此操作,但如果可能的话,我想使用新的VS 2010方法执行此操作

1
NuGetPackageImportStamp的用途是什么?
将某些NuGet程序包添加到项目时,有时.csproj文件的第一个属性组中会出现一个奇怪的项目。 <PropertyGroup> ... <NuGetPackageImportStamp>3d051ef3</NuGetPackageImportStamp> </PropertyGroup> 戳记每次都不同,并且看起来不是连续的。 我<NuGetPackageImportStamp>在NuGet文档中找不到任何参考。它是做什么用的,它是如何工作的?有必要吗? 似乎每次都会添加此包的一个包是StyleCop.MSBuild,至少与当前的4.7.49版本相同。只需将该包添加到新项目中,您就会看到该神秘物品出现在您的项目文件中。
71 .net  msbuild  nuget  csproj 

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.