2

场景:一位开发人员在工作中创建了一个插入公司网站的三层ASP.NET Web 应用程序,但该网站的其余部分是作为ASP.NET 网站完成的。为清楚起见,他的部分使用了 Web 应用程序(编译成单个 .dll),站点的其余部分是 WebSite(单独的 .dll)。我不希望每次更改页面时都重新编译网站。

问题:是否可以在不重写整个应用程序的情况下将 Web 应用程序转换为网站?

试过:

  1. 创建网站并复制和粘贴文件
  2. 将“代码隐藏”更改为“代码文件”
  3. 从页面和控件中删除 .designer.cs
  4. 检查参考
4

1 回答 1

7

好的-假设您有备份,这就是我要解决的问题:

  1. 删除 csproj 文件
  2. 在 Windows 资源管理器中,删除所有designer.cs文件
  3. 仍然在资源管理器中,在站点的根目录创建一个 App_Code 文件夹
  4. 查找任何*.cs不是代码隐藏的文件(例如,.ascx.cs.aspx.cs)并将它们移动到 App_Code 文件夹中
  5. 在 Visual Studio 中作为网站项目打开
  6. 验证 .NET FX 版本
  7. 在任何或文件中更改CodeBehind=CodeFile=.aspx.ascx
  8. 阅读任何第 3 方参考资料

Global.asax、ASHX 处理程序(需要内联)以及引用页面和控件存在一些潜在的复杂性。恐怕你必须手动处理这些 - 但如果这是一个很小的努力,它应该很容易做到。

于 2013-06-05T18:51:51.000 回答