"Could not find file" 在 Visual Studio 2013 年预编译网站时

"Could not find file" when precompiling website in Visual Studio 2013

在 Visual Studio 2013 年尝试发布网站(而非应用程序)时,我收到错误消息:

Error 80 Could not find file 'C:\Users\xxx\AppData\Local\Temp\Temporary ASP.NET Files\sourcecode\f4add76e\ed4d53d8\App_Web_0ttpvjhk.0.vb'.

如果我在没有预编译的情况下部署网站,它工作正常。此外,当 运行 在本地访问网站时,我(和其他团队成员)必须重建几次才能正确编译。我们在本地尝试 运行 时收到的错误通常与 Visual Studio 从数据 table/table 适配器 xsd 文件生成重复的新潜艇有关。

我尝试通过命令行 (aspnet_compiler) 进行编译以排除 Visual Studio 并收到相同的错误。任何想法将不胜感激,因为我们一直在尝试我们能想到的一切来解决问题。

谢谢。

编辑 1

这是尝试在本地构建网站时的常见错误。有时它构建良好,有时我们会收到这样的错误:

Error 81 The file name 'C:\Users\xxxx\AppData\Local\Temp\Temporary ASP.NET Files\root143ee9d39f4f7\ymvk4bug.pdb' was already in the collection.

我最终找出了导致问题的原因。

我已从 ReportViewer 10 升级到 ReportViewer 11,并且以下行已添加到 web.config:

<buildProviders>
   <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</buildProviders>

这导致间歇性构建失败。我删除了 buildProvider 标签,它构建和预编译都很好。