Asp.net TFS未删除外部DLL

Asp.net TFS未删除外部DLL,asp.net,.net,visual-studio-2010,tfsbuild,Asp.net,.net,Visual Studio 2010,Tfsbuild,我们有一个运行TFS2010的共享构建服务器。目前我们使用的是VS2008解决方案(很快计划升级到VS2010) 我们的ASP.NET 3.5解决方案有一些外部DLL,它们位于解决方案的“库”文件夹中。问题是,如果我们从开发机器上发布站点,那么发布的文件夹就是完美的。但是当TFS在构建服务器上构建它时,有3个外部DLL永远不会被删除,我们必须在构建后手动复制它们 我们尝试了一些方法,但没有解决问题。我们还仔细检查了这3个dll是否与其他dll一样,在bin文件夹中放置了正确的刷新文件 一个问题可

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

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

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

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


您知道如何通过TFS将这3个dll正确地删除到bin文件夹中吗?

是否尝试从Visual Studio解决方案中的“引用”文件夹中选择dll,然后从“属性”面板中将“复制本地”设置为true?

尝试检查生成日志,并检查msbuild在生成时是否能够找到dll。您可以在对生成进行排队时选择诊断日志记录,以获取更详细的日志。

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

您必须通过向GAC程序集引用添加Private元数据,将copy local强制为true。编辑项目文件并添加私有元数据:

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

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

真的
真的

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

“复制本地”已设置为True,路径设置为“我的库”文件夹。为了避免手动编辑,有一个技巧:将引用“复制本地”设置为false,然后再设置为True,Visual Studio会自动添加私有元数据。至少VS2010今天救了我一命。使用nuget和octodeploy获取tfs构建的简单按钮在哪里。它在我的机器上工作!!!!如果这对任何人都有帮助,我最近也遇到了这个问题,@JustAMartin的方法在VS 2017中仍然有效。将引用设置为Copy Local=
false
,然后再次设置为
true
,然后在项目文件中为您插入
Private
节点。