问题标签 [msbuild-buildengine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4146 浏览

wpf - Microsoft.Build.BuildEngine.Engine 在构建 WPF 应用程序时引发错误

我正在使用 Microsoft.Build.BuildEngine.Engine 来构建 WPF 应用程序。这已经成功地用于类库和 Web 应用程序,但现在尝试使用它来构建 WPF 应用程序我收到以下错误:

目标 MarkupCompilePass1: c:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.WinFX.targets(294,9): error MC1000: Unknown build error, 'API 限制: 程序集 'file:///C: \Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\PresentationCore.dll' 已从其他位置加载。它不能从同一 appdomain 中的新位置加载。在项目“TestWindowsApplication.csproj”中完成构建目标“MarkupCompilePass1”——失败。

此应用程序在使用 VisualStudio 2008 构建时构建良好(即从菜单构建),但使用 Microsoft.Build.BuildEngine.Engine 会引发此构建错误。有人知道这里发生了什么吗?

0 投票
1 回答
428 浏览

.net - 如何使用 Microsoft.Build.BuildEngine 发布 ClickOnce 应用程序

我有一个 WPF ClickOnce 应用程序,我正在尝试使用 Microsoft.Build.BuildEngine 构建它。

我相信我的问题实际上归结为“我如何使用 Microsoft.Build.BuildEngine 执行命令行 /target:publish”?

我试过以下

但我真的只是根据我设置发布 ClickOnce 应用程序的命令行属性来猜测这些属性。

0 投票
0 回答
255 浏览

.net - 如何控制 ClickOnce 应用程序的输出构建(使用 Microsoft.Build.BuildEngine)到哪里?

我有一个使用 Microsoft.Build.BuildEngine 构建的 ClickOnce WPF 应用程序。一切似乎都正常工作,但是在进行有针对性的构建以发布应用程序时,它会将发布的输出放到 .\bin\Release\app.publish

尽管设置了属性“PublishURL”、“OutDir”、“WebProjectOutputDir”,但我可以设置另一个属性来完成此操作吗?

有没有办法控制 app.publish 目录的创建位置?


看起来它总是发布到“OutputPath”\app.publish 我尝试了以下方法:

不幸的是 myOutputPath1 和 myOutputPath2 是相同的,看起来“OutputPath”没有被更新。

0 投票
1 回答
782 浏览

msbuild - 从 MSBuild 获取最后一次构建的 Build URI 或 Build 号

我正在尝试为 MSBuild 创建一个自定义任务,以便它会向用户发送一封电子邮件,告知测试服务器上有一个新版本。

我完成了电子邮件部分,我想做的是添加此构建中包含的工作项。我尝试了 MSBuild 扩展(用于发送电子邮件),但获取该信息的功能不支持我正在使用的 TFS 2005,无法升级。

我试图使用 BuildStore.GetWorkItemsForBuild 但我需要一个我找不到方法的 builduri。

设置是这样的,从批处理文件中调用编译、构建和部署的步骤作为不同的选项。在部署选项结束时,将发送电子邮件。

任何人都可以帮助我吗?

0 投票
2 回答
5065 浏览

tfs - 您可以在 TFS 中使用多个工作文件夹吗?

在工作区只有一个工作文件夹的项目中,我的构建脚本运行良好。现在我正在处理一个需要 2 个工作文件夹的新项目,我之前脚本的所有签出和签入命令都失败了,没有找到文件。

显然,我不了解这里工作区实现的关键部分......我有一个依赖于其他项目的项目,第二个工作文件夹基本上是第 3 方文件夹,其中引用了各种已发布的 DLL 和标头编译我的项目所需的文件。有 2 个活动文件夹,本地文件夹是:

构建的代码工作正常,但自定义 AfterGet 在以下条目上失败:

如果我有一个工作文件夹并将源代码移动到足够高的位置以获取所有需要的文件,该项目当然可以工作,但我不想通过 43 个其他项目来做我想做的事情,更不用说与他们的汇编文件...

我也试过:

同样的问题,找不到任何程序集文件...我检查了构建日志,并且肯定看到在构建阶段检查了程序集文件...

如果有人有任何想法或可以向我指出一些文章以更好地解释多个工作文件夹的工作原理,我将不胜感激。

一些构建变量的值:

为了提供更多信息,我添加了以下命令:

结果是:

我发现以下工作目录可以工作:

但是以下两个没有,请注意第二个是我的第二个工作文件夹:

我为标签任务得到的错误是最有用的:

结帐的实际错误是:

0 投票
4 回答
4925 浏览

c# - Microsoft.Build.Engine 错误(默认目标):目标 GetFrameworkPaths:找不到 .NET Framework SDK

我正在编写一个 web 服务,调用时应该构建一个 C# 项目。我正在使用框架 2 参考,Microsoft.Buld.Engine 和 Microsoft.Build.Framework。如果您查看“<Import>”部分的 .csproj 文件,默认情况下它具有:

然后我改为:

我构建 csproj 的代码是:

由于构建失败,success 变量返回 false。然后我检查 build.log 文件,这是我收到的错误:

构建开始于 2010 年 3 月 17 日上午 11:16:56 项目“[Path_Of_Directory]\ProjectName.csproj”(默认目标):目标 GetFrameworkPaths:找不到 .NET Framework SDK。该任务正在注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework 的 SDKInstallRootv2.0 值中指定的位置查找 .NET Framework SDK 的路径。您可以通过执行以下操作之一来解决该问题: 1.) 安装 .NET Framework SDK。2.) 手动将上述注册表项设置到正确的位置。目标

我不明白为什么它不会建立。任何帮助都感激不尽。谢谢

0 投票
2 回答
1218 浏览

c# - 使用 BuildEngine 传递 MsBuild 命令行参数

我有以下代码可以从另一个 C# 应用程序构建项目:

目前它构建默认配置(调试),但我希望它构建发布版本。如果我从命令行调用 MsBuild,我会执行以下操作:

如何将该配置开关传递给构建引擎?

0 投票
2 回答
1414 浏览

c# - MSBuild:在 BuildEngine 中定义子项目构建配置

我正在使用 BuildEngine 作为创建一键式构建环境的步骤。代码如下:

而且他似乎使用发布配置构建项目示例。但是当我查看 build.log 时,Example 项目的所有依赖项都是作为调试构建的。

有什么方法可以强制它在 Release 上构建所有依赖项?

0 投票
2 回答
184 浏览

c#-4.0 - 获取 CruiseControl 描述性错误

我的 Cruisecontrol 运行两个 nant 脚本,它使用 msbuild 构建。Msbuild 失败而没有给出任何错误。有没有办法获得更多的错误细节?以下是我配置发布者的方式。

0 投票
3 回答
5360 浏览

msbuild - MSBuild 编译目标为类生成 dll?

我有一个 VB 类,当我运行时:

它还为包含该类的已编译代码的应用程序生成 Exe。

我想在 myfolder 文件夹中为我的 VB 类创建一个单独的 dll。

任何帮助表示赞赏!