asp.net - TFS 不会删除外部 Dll

标签 asp.net .net visual-studio-2010 tfsbuild

我们有一个运行 TFS2010 的共享构建服务器。目前我们使用VS2008解决方案(很快计划升级到VS2010)。

我们的 ASP.NET 3.5 解决方案有一些外部 dll,它们放置在我们解决方案的“库”文件夹中。问题是,如果我们从开发计算机发布站点,则发布的文件夹是完美的。但是,当 TFS 在构建服务器上构建它时,有 3 个外部 dll 永远不会被删除,我们必须在构建后手动复制它们。

我们尝试了一些方法,但没有解决问题。我们还仔细检查了与其他 dll 一样,这 3 个 dll 在 bin 文件夹中放置了正确的刷新文件。

一个问题可能是,其中一些有问题的 dll 可能位于开发计算机的 GAC 上。如果这确实是一个问题,那么无论如何在构建服务器上我们都不能将 dll 放入 GAC 中。

我们有什么想法可以强制这 3 个 dll 通过 TFS 正确放入 bin 文件夹中吗?

最佳答案

如果您部署/复制的应用程序包含对在 GAC 中注册的自定义组件的引用,则无论“复制本地”设置如何,该组件都不会随应用程序一起部署/复制。 See MSDN

您必须通过将私有(private)元数据添加到 GAC 程序集引用来强制将本地复制设置为 true。编辑您的项目文件并添加私有(private)元数据:

<Reference ..>
    <Private>True</Private>
</Reference ..>

<ProjectReference ..>
    <Private>True</Private>
</ProjectReference ..>

现在您的 GAC 程序集应该从输出文件夹中复制/删除。

关于asp.net - TFS 不会删除外部 Dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8462252/

相关文章:

asp.net - 你会认为这是一个单例/单例模式吗?

javascript - 按类型获取元素然后禁用

Android 手机浏览器上的 ASP.Net 事件验证失败

visual-studio-2010 - 使用 Visual Studio 2010 调试 SharePoint XSLT

asp.net - 您可以在没有专有软件的情况下通过 ASP.NET 发送传真吗

c# - 为不同的用户重用 HttpClient

.net - 解释Visual Studio 2005线程窗口

.net - 有人可以澄清我对模拟的验证概念的理解吗?

c# - 检查目录是否可以在 C# 中访问?

asp.net - 当目标版本为 3.5 时,图表控件可以在 VS 2010 中使用吗?