Dll是已发布的网站,但在内部版本中丢失



这应该是一个被忽视的小问题,但我从现在起就一直在关注这个问题,需要一些指针。

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

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

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

奇怪的是,这些dll是在_PublichedWebsite文件夹之外生成和显示的,而不是在已发布网站内的bin中。

如果我们发布网站,那么一切也都是完美的,所有的DLL都来了。

流氓dll是:Microsoft.ReportViewer.Common.dllMicrosoft.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>..LibraryMicrosoft.ReportViewer.WebForms.dll</HintPath>
  <Private>True</Private>
</Reference>

我已经检查了我的bin文件夹是否有一个刷新文件,该文件的路径正确地提到了这个dll物理放置的Library文件夹。

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

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预编译器在生成网站时出错,而这并没有显示在清除的生成资源管理器日志中。

最新更新