2

我最近从我在 ASP.NET 2.0 网站上工作的 VS 2003 升级到我已经迁移到 ASP.NET 4.0 的 VS 2010。到目前为止,让我的网站使用新版本进行编译一直是一件令人头疼的事情。一个问题是我的 aspx.cs 页面在我的项目中找不到共享代码库。我通过将共享代码移动到 App_Code 文件夹解决了这个问题(如果有不同/更好的方法,请告诉我)。

我发现另一个令人困惑的问题是预编译。使用 VS 2003,我可以单击构建项目按钮,它会将我的站点预编译为 myweb.dll 和 myweb.pdb 文件。现在我在 VS 2010 中做同样的事情时遇到了麻烦。当我在 VS 2010 中构建站点时,不会创建 dll。我确实设法找到了一个“发布”该站点的选项,该选项需要永远(例如 2 分钟)并且涉及将站点复制到另一个文件夹。这本来是可以接受的,但它不是生成单个 DLL 文件,而是生成一堆文件:App_code.compiled、app_code.dll、App_code.pdb、App_global.asax.compiled、App_global.asax.dll、App_global.asax.pdb 、App_Web_lrpcway1.dll、App_Web_lrpcway1.compiled、App_Web_lrpcway1.pdb。

该应用程序有效 - 我可以使用所有这些文件部署它。但是,我真的很想有人解释什么是额外的文件,以及是否有更好的方法来做到这一点。

谢谢

4

2 回答 2

0

您可以使用 ASP.NET 合并工具将所有小 DLL 合并为一个大 DLL。

http://msdn.microsoft.com/en-us/library/bb397866.aspx

于 2011-03-22T18:07:11.190 回答
0

这就是网站和 Web 应用程序之间的区别。您可以将您的网站转换为 Web 应用程序,使其表现得更像您习惯的那样。

appCode 中的文件是在需要运行时编译的,因此在 bin/debug 文件夹中不提供 dll.s,但它们应该在应用程序实际运行时创建(但不是放在同一位置)。

这是一个很好的关于它的文章链接

于 2011-02-03T01:18:01.583 回答