【问题标题】:Dll is Published site, but missing in BuildDll 是已发布的站点,但在 Build 中缺少
【发布时间】:2012-03-26 03:33:33
【问题描述】:

应该是一个被忽略的小问题,但从现在开始我就一直坚持这个问题,需要一些指示。

我们使用 .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 所在的 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)

我还能检查什么?

【问题讨论】:

    标签: .net visual-studio-2008 msbuild build


    【解决方案1】:

    请将构建定义的日志记录级别设置为详细,再次运行 TFS 构建并检查 TFS 构建资源管理器和放置位置的 MSBuild 日志文件中的详细日志。我怀疑会有问题的关键。例如,我看到 ASP.NET 预编译器会给出错误生成网站,而这并没有显示在构建资源管理器日志中。

    【讨论】:

    • 这对我来说是一个新想法。让我试一试,然后在这里报告。
    • 日志似乎暗示因为 dll 在 GAC 中,因此它没有被复制。这不是我需要的。我已将其设置为 CopyLocal,因为我需要将其放入已发布的网站文件夹中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多