我有一个用C#编写的ASP.NET WebApplication(不是网站)。
我想在我的服务器中为超过50个站点发布和部署此应用程序。 我更喜欢制作一些dll并将它们放在我的服务器的GAC中,这样所有网站都将使用GAC的dll,然后我可以更新所有网站,只需更换GAC中的一些dll。
当我发布我的应用程序时,我得到一个所有.cs文件的dll,但所有.aspx文件仍然存在。 我想将.aspx文件合并到单个程序集中。
对我的案子有什么办法吗?或其他任何想法?
答案 0 :(得分:0)
当您转到发布设置时,如果您取消注意所有cs代码将合并到app_web.dll中,则可以选择“使网站可更新”。
您仍将拥有所有单独的aspx页面,因为它们定义了代码的入口点。据我所知,合并它们的唯一方法是将所有单独的aspx页面复制/粘贴到default.aspx中,并将它们包装在<asp:Panel ID="HomePage" Runat="Server" Visible="False">
中,然后根据QueryString在Page_Load中设置右侧面板。您可以使用URL重写来获得不错的URL。
根据您拥有的页数以及它们在代码中的大小,我可能不会自己这样做。但是如果你发现有1页的结果超过其余部分,那么技术上是可行的。
另一种选择可能是在子域上托管应用程序,在需要的地方托管iframe。这可能由于跨源问题而无法实现,具体取决于您的设置,但这将是一种“更清洁”的工作方式。
希望这会有所帮助。
答案 1 :(得分:0)
在您的网站项目属性中:
打包/发布网站
检查 - 在发布之前预编译此应用程序
高级 - 将所有输出合并到单个程序集