繁体   English   中英

是否可以通过TFS Build自动安装Visual Studio 2012 C ++可再发行组件?

[英]Can the Visual Studio 2012 C++ Redistributable be installed automatically with a TFS Build?

我有一个使用ClearScript.V8库的ASP.Net项目,该库依赖于Visual Studio 2012 C ++可再发行组件来工作。 我面临必须将其安装在50台以上的计算机上的前景,我很好奇是否可以让TFS为我做这件事。

我意识到这跨越了堆栈溢出和服务器故障之间的某个地方,所以我在两个站点上都问过。

假设ClearScript.V8的二进制文件包含在您的项目中(作为复制到bin文件夹中的文件或作为NuGet包),您还应该能够在项目中包含必要的Visual C ++可再发行文件作为二进制文件。 然后将它们存储在TFS中。

如果您更喜欢NuGet软件包,则可以在组织内设置本地NuGet仓库,并创建一个具有必要DLL的NuGet软件包,然后可以从您的项目中引用这些DLL。 如果为您的解决方案配置了NuGet软件包还原,则将在构建解决方案之前下载软件包。 在VS2012中,您将必须进行一些自定义,以使其在Team Foundation Build服务器上进行。

如果不确定需要包含哪些DLL,则可以使用Dependency Walker之类的工具来查找所需的DLL,或者可以调试应用程序并查看模块窗口中加载了哪些DLL。 Microsoft具有一些要重新分发DLL的信息。

如果在加载可再发行的DLL版本冲突时遇到问题,则可以创建并排清单以确保将正确的DLL版本加载到您的应用程序中。 但是,由于您的应用程序托管在ASP.NET中,因此有些棘手,因为w3wp.exe是由IIS直接控制之外执行的。 您将必须创建一个激活上下文来配置应用程序使用的清单。

如果您需要在服务器上安装某些东西以进行构建,我建议您使用Chocolatey。

  • Chocolatey.org/

这是PowerShell中NuGet的实现,用于显式解决您面临的问题。 您可以创建一个Powershell文件来安装所需的所有位,并轻松地将其包含在TFS 2013中作为预构建步骤。您可以使用TFS社区构建工具中的PowerShell活动在TFS 2010或2012中调用PowerShell。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM