问题标签 [msbuildextensionpack]

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 投票
0 回答
1710 浏览

iis-7 - 远程服务器上的 MSBuild 扩展包 IIS7 任务错误

我已经使用 TeamCity 和 MSBuild 建立了一个持续集成构建。我正在使用 MSBuild 扩展包,主要用于它的 IIS7AppPool 任务。我的目标是在构建脚本执行部署步骤之前停止 IIS 应用程序池,然后启动应用程序池。IIS 应用程序池与生成代理位于不同的服务器上。

我使用以下 MS Build 代码来停止 IIS:

我在 Web 服务器上设置了一个本地管理员用户帐户,并在上面使用其用户名和密码作为 $(DeploymentServerUsername) 和 $(DeploymentServerPassword)。

我收到的错误是:

[MSBuild.ExtensionPack.Web.Iis7AppPool] E:\TeamCity\BuildAgent\work\1a1dc058c29f0f12\BuildAndDeployment\Build_DevCI.proj(153, 5): UnauthorizedAccessException: Retrieving the COM class factory for remote component with CLSID {2B72133B-3F5B-4602-由于以下错误,来自机器 DEPLOYMENTSERVERMACHINENAME 的 8952-803546CE3344} 失败:80070005 DEPLOYMENTSERVERMACHINENAME。

我已经要求我们的网络人员关闭两台机器之间的所有防火墙,但我仍然遇到同样的错误。

任何人都可以看到我的语法有什么问题,或者就如何让它发挥作用提供任何建议吗?

我可以完成在我的本地机器上停止 IIS 应用程序池的任务,所以我的语法应该是正确的。

我看过这篇文章,但我不认为这是同一个问题:

MSBuild 远程处理服务器引发 COMException 错误

0 投票
1 回答
216 浏览

.net - MSBuild 扩展包、gacutil、Win32_Process、生活、宇宙和一切

我一直在尝试让 MSBuild Extensions Pack GAC 实用程序正常工作,但不断遇到Remote AddAssembly 返回非零 returnValue: 9错误,该错误通常指向 gacutil.exe 不在路径中。我已将 gacutil 的位置添加到系统 PATH 中,并通过从运行对话框运行gacutil.exe /l确认它可以工作,但这没有帮助。

为了检查机器上的 WMI 是否存在问题,我使用 PowerShell 尝试使用 Win32_Process 调用 gacutil,但以同样的方式失败,但是当我将命令行设置为有效的实际路径时。

我可能需要重新启动服务器以便 WMI 读取新的 PATH 变量,还是发生了更奇怪的事情?

0 投票
1 回答
437 浏览

sql-server - MSBuild 扩展包:验证备份远程

我正在尝试在远程数据库服务器上备份数据库,然后验证该备份文件。

备份运行良好,但是当我尝试验证备份时,构建失败并出现错误:

我在本地计算机上使用以下 xml 构建文件:

如果我在本地计算机上运行备份和验证,此构建文件工作正常,但当我将 MachineName 更改为远程服务器时失败。我相信在我的本地机器上搜索备份文件时 MS Build 搜索,而不是在远程机器上。如何告诉 MS Build 在远程服务器上搜索备份文件?

0 投票
1 回答
1092 浏览

msbuild - 如何使用 MsBuild 社区任务 WebDownload 正确下载文件?

如果我这样做

[...]

<UsingTask AssemblyFile=".\MSBuild.Community.Tasks.dll" TaskName="MsBuild.Community.Tasks.WebDownload" />

<Target Name="Download">
<WebDownload FileName="Deploy.zip" FileUri="http://[...]/Deploy.zip" />
</Target>

结果文件被破坏,只有文件大小的一小部分。只有文本文件似乎有效。

msbuild 扩展包替代方案也不起作用。
(http://www.msbuildextensionpack.com/help/3.5.5.0/html/fbcabc54-e80e-3176-dcd0-8be24fc60602.htm)

我究竟做错了什么?

0 投票
1 回答
175 浏览

asp.net - MSBuild ExtensionPack Iis6VirtualDirectory 创建多个 ScriptMaps

我正在使用该MSBuild.ExtensionPack.Web.Iis6VirtualDirectory任务创建一个IIsWebDirectory应用程序作为默认网站的子项。我正在尝试使用多个 ScriptMaps(所有这些都是 ASP.NET 2 网站所需的)创建应用程序。但是我似乎无法获得正确创建 ScriptMaps 的任务。这是我的代码:

这只是创建了一个脚本映射条目,其中所有条目的规范都在一行上。我尝试使用 \n 和 XML 字符实体指定换行符,但无法正确创建条目。

0 投票
2 回答
10806 浏览

msbuild - 如何使用 MSBuild.ExtensionPack

我必须使用 OpenCover 并行运行两个目标来配置 iisexpress.exe。下面的链接与我遇到的问题有关的信息。

https://github.com/sawilde/opencover/issues/92#issuecomment-5143204

这建议我使用 CodePlex 的 Msbuild.ExtensionPack。

我已经下载了 MSBuild Extensions 的源代码。

我编译它。我将 MSBuild.ExtensionPack.tasks 任务文件复制到了 BuildBinaries 文件夹中。

我在我的项目文件中添加了以下几行。

我试图运行 ExecMultipleTasks 目标。但得到以下错误。

错误 MSB4036:未找到“MSBuild.ExtensionPack.Framework.Parallel”任务。检查以下内容: 1.) 项目文件中的任务名称与任务类的名称相同。2.) 任务类是“公共的”并且实现了 Microsoft.Build.Framework.ITask 接口。3.) 在项目文件或位于“C:\Windows\Microsoft.NET\Framework\v4.0.30319”目录的 *.tasks 文件中正确声明了任务。

你能告诉我如何解决这个问题吗?

谢谢,

文卡特。

0 投票
0 回答
428 浏览

msbuild - 为什么 MsbuildExtension Detokenise 类会重新加载项目?

这是有问题的,因为传入的任何属性都会丢失。

进一步说明:我将一个属性传递给项目文件。此属性是 .props 文件的路径。它包含 detokenise 类的标记和替换值。该任务显然会重新加载项目并且不维护路径。其他任务似乎并非如此,例如 guid 任务。

在示例中,我使用了一个名为 guids.proj 的示例项目

调用使用:

一些命令行输出如下:

Task "MSBuild.ExtensionPack.FileSystem.Detokenise" (TaskId:11) Detokenise Task Execution Started [13:04:35] (TaskId:11) Loading Project: C:\Users\bstrausser\Desktop\guids.proj (TaskId:11) Detokenising Collection: 1 files (TaskId:11) C:\Users\*****\Desktop\guids.proj(37,9): error : Property not found: Asset Directory

完整的项目文件:

0 投票
1 回答
1248 浏览

security - How can I use msbuild to add a security certificate that I can use in IIS

I have this target

and in another target this binding statement

However when I run the targets I get the error

Creating binding with certificate: thumb print 'DBE4964B4C4D0F185E8B1D421D736390AE586EBF' in stor e 'MY' C:\Projects\RC19_Release2\ExternalBinaries\MSBuildGlobalFiles\ManageWebsite.targets(154,3): error : COMException: A specified logon session does not exist. It may already have been terminated. (Exce ption from HRESULT: 0x80070520)\r C:\Projects\RC19_Release2\ExternalBinaries\MSBuildGlobalFiles\ManageWebsite.targets(154,3): error :

When I look in IIS it has created the site and the binding is there, but it does not seem to be able to find the certificate, and if I look in the "Server Certificates" on IIS then I cannot see my certificate.

If I do MMC -> certificate snap in and go to Current User then I can see my cert in there.

How do I either access that certificate from within IIS/msbuild or have msbuild create it in the correct place for IIS to be happy?

The msbuild extension help page is this http://www.msbuildextensionpack.com/help/4.0.5.0/html/45763eac-8f14-417d-9b27-425161982ffe.htm but it has not helped me much!

Thanks

0 投票
1 回答
1230 浏览

iis-7 - 使用 MSBuild 扩展包和 IIS7 任务的权限问题

我试图在扩展包中使用 iis7 web 任务。我无法成功使用该任务(具有我的上帝级别管理员访问权限),但我的问题是我无法将它与必须运行它的用户(服务用户)一起使用。

我收到错误:错误:UnauthorizedAccessException:由于以下错误,从机器检索具有 CLSID {2B72133B-3F5B-4602-8952-803546CE3344} 的远程组件的 COM 类工厂失败:80070005

0 投票
1 回答
812 浏览

biztalk - 使用 MSBuild 扩展包在远程服务器上创建 BizTalk 应用程序失败

我有一个尝试创建 BizTalk 应用程序并将其部署到远程服务器的 msbuild 脚本。我使用以下任务:

尝试在远程服务器上部署时,出现以下错误

错误:COMException:应用程序注册失败,因为应用程序已经存在。

但事实并非如此,该应用程序不存在。

在网上搜索结果如下链接,建议设置 MSDTC 属性:http ://social.msdn.microsoft.com/Forums/sa/biztalkediandas2/thread/251250c1-3f95-4457-8fbc-0274c722c7b0

但是 DTC 在本地和远程服务器上都是这样设置的:

故障诊断代码配置

还值得注意的是,我对远程 BizTalk 服务器运行了另外两个任务,以检查应用程序的存在以及 WCF-SQL 适配器的存在。这两个都成功了。

更新

我检查了事件日志。不知道为什么我一开始就没有想到这一点。我收到以下 3 个事件:

第一个事件,Level=Information,Source=Sql 服务器

正在尝试初始化 Microsoft 分布式事务协调器 (MS DTC)。这只是一条信息性消息。无需用户操作。

第二个事件,Level=Information,Source=Sql server

无法联系 Microsoft 分布式事务处理协调器 (MS DTC) 服务。如果您想要分布式事务功能,请启动此服务。

第三个事件,级别=错误,来源=BizTalk

无法与 SQL 实例上的 MessageBox BizTalkMsgBoxDb 通信。错误代码:0x8004d01c。可能的原因包括:
1) MessageBox 不可用。
2) 从这台机器到 MessageBox 的网络链接已断开。
3) 此本地机器或托管此 MessageBox 的机器上的 DTC 配置不正确。