应该是一个被忽视的小问题,但是我几天来一直坚持这个问题,需要一些指示。
我们使用的是.NET 3.5,VS2008和TFS 2010
我有一个ASP.NET网站项目。该解决方案有多个类项目和一个网站项目。
问题是当TFS构建项目时,在_PublishedWebsite文件夹中永远不会生成2个dll。
奇怪的是,这些dll是在_PublsihedWebsite文件夹之外生成并存在的,而不是在已发布的网站内的bin中。
如果我们发布网站,那么一切都很完美,所有DLL都来了。
Rogue dll是: Microsoft.ReportViewer.Common.dll Microsoft.ReportViewer.WebForms.dll
我尝试在所有项目中设置这些dll的CopyLocal。
e.g。
<Reference Include="Microsoft.ReportViewer.WebForms, Version=9.0.30729.4402, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Library\Microsoft.ReportViewer.WebForms.dll</HintPath>
<Private>True</Private>
</Reference>
我已经检查过我的bin文件夹有一个刷新文件,其中我正确地提到了我的库文件夹中的路径,这个文件夹实际放置在这个文件夹中。
以下是我的解决方案结构的高级视图:
Project 1
----Refers to Report DLL (CopyLocal is true)
Project 2
----Refers to Report DLL (CopyLocal is true)
Website project
-----Refers to Project 1
-----Refers to Project 2
----Refers to Report DLL (via Library folder in the refresh file in Bin folder)
我还能检查什么?
答案 0 :(得分:2)
请将构建定义的日志记录级别设置为Detailed,再次运行TFS构建并检查详细日志,包括TFS构建资源管理器和放置位置中的MSBuild日志文件。我怀疑这个问题会有关键。例如,我已经看到ASP.NET预编译器提供生成网站的错误,而这不会显示在清除的构建资源管理器日志中。