Visual Studio发布DLL

时间:2016-06-30 15:08:56

标签: c# web-publishing

我有一个包含网站的解决方案,包含大量文件。

最近发生了一个新的网页必须添加到网站。使用新文件构建解决方案时,一切正常。 尝试使用Web发布向导时,该过程会中断。

基本上,这就是:

  • 新页面(例如myPage)已添加到webproject
  • 在视觉工作室本地构建,一切都很好。最终程序集包含代码库中的所有类。
  • 将网站发布到文件系统(右键单击并从CSProject发布),预编译会抛出错误,说明类" myPage"缺少。

我已经在三个常用位置检查了Dll版本(例如myWebSite.dll):

  • \ bin - >已编译的代码已完成,包括" MyPage"类
  • \ _ obj \ Debug \ Package \ PackageTmp \ bin - >编译的代码不完整,新的类很少,包括" MyPage"类
  • \ _ obj \ Debug \ AspnetCompileMerge \ Source \ bin - >编译的代码不完整,新的类很少,包括" MyPage"类

1 个答案:

答案 0 :(得分:0)

解决方案的设计如下,带有循环引用:

MySolution
    Project A
    Project B
    Project C
    ...

项目A引用项目B,它引用项目A的程序集输出

在本地构建时,一切正常,因为从A生成的程序集是ProjectA.dll并重新生成。看起来当在visual studio中使用“发布”(Web发布,而不是TFS构建和发布功能)时,它会与引用混淆,并且某些部分缺少生成的Dll。

导致此缺陷是因为引用的循环程序集不是最新的,而是过时的循环程序集。