Visual Studio项目随机命名的dll



几年前我继承了一个用VB.net编写的项目-这个网站的问题(它是Visual Studio中的一个网站,而不是一个web应用程序)是,如果你改变任何代码,你必须每次编译和上传整个网站。

为什么?因为它似乎在每次编译时都会在BIN目录中生成一堆(可能是10-15个)随机命名的dll。在网站的每个页面然后引用这些随机命名的dll,所以我必须上传他们所有和新的dll,如果网站要继续工作。

这个站点是使用什么"设置"构建的,或者更重要的是,我如何将它更改为一个更方便的系统,生成一个或两个一致命名的dll ?

将Web Site更改为Web Application可能是一个很好的解决方案,但它可能有许多优点和缺点,并且您需要时间来更改和管理它。

改变以下标志,将允许只删除随机的App_web_xyz.dll

 Solution Explorer
  Publish Website
   Precompile during publishing 
    Configure
     Merge options
      [X] Do not merge 

改变

      [X] Merge each individual folder output to its own assembly

或to

      [X] Merge all pages and control outputs to a single assembly

注意,在此更改后,如果2个不同的.aspx文件有相同的类名将导致发布错误!您必须重构和重命名每个重复的类。

这是一个网站项目的默认行为,它不同于web应用程序项目。

查看更多详情:

ASP。. NET网站或ASP。. NET Web应用程序?

如果你想摆脱许多烦人的dll -将网站转换为Web应用程序,否则使用Web部署功能

一些技巧:

  • 每个项目生成自己的DLL,因此您的DLL不能少于您的解决方案中的项目数量
  • Visual Studio提供了很好的部署和发布功能,可以检查文件是否被更改,并只部署更新的文件,所以你基本上点击一个按钮,部署就完成了
一些链接:

  • 演练:使用发布网站工具
  • 部署网站项目
  • 部署ASP。. NET站点通过Web部署使用Visual Studio
  • 中的发布

最新更新