.net – Dll是已发布的网站,但在Build中缺失

应该是一个被忽视的小问题,但是我几天以来一直坚持这个问题并需要一些指示.

我们使用的是.NET 3.5,VS2008和TFS 2010

我有一个ASP.NET网站项目.该解决方案有多个类项目和一个网站项目.

问题是,当TFS构建项目时,在_PublishedWebsite文件夹中永远不会生成2个dll.

奇怪的是,这些dll生成并存在于_PublsihedWebsite文件夹之外,但不在bin中,在已发布的网站内.

如果我们发布网站,那么一切都很完美,所有DLL都来了.

流氓dll是:
Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.WebForms.dll

我已经尝试在所有项目中设置这些dll的CopyLocal.

例如

<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文件夹有一个刷新文件,其中我正确地提到了我的库文件夹中的路径,其中这个dll是物理放置的.

以下是我的解决方案结构的高级视图:

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)

我还能检查什么?

最佳答案 请将构建定义的日志记录级别设置为Detailed,再次运行TFS构建并检查详细日志,包括TFS构建资源管理器和放置位置中的MSBuild日志文件.我怀疑这个问题会有关键.例如,我已经看到ASP.NET预编译器提供生成网站的错误,而这不会显示在清除的构建资源管理器日志中.

点赞