ASP.NET网站到Web应用程序的转换问题-无法加载类型';ClassName';AND为所有现有网页设置

本文关键字:ClassName AND 设置 网页 类型 加载 Web 应用程序 网站 NET 转换 | 更新日期: 2023-09-27 18:28:22

我已经将一个巨大的网站项目转换为Web应用程序项目,因为出于安全目的,我们希望以DLL的形式编译代码,并遵循以下MSDN文章:

http://blogs.msdn.com/b/webdev/archive/2009/10/29/converting-a-web-site-project-to-a-web-application-project.aspx

http://msdn.microsoft.com/en-us/library/aa983476%28v=vs.100%29.aspx

该网站有1000个网页/文件。我已经解决了在构建解决方案阶段面临的所有重复引用、类名冲突和一些编译错误的问题。由于早期的网站模式,类名采用以下模式:

例如,如果UserMaster位于admin/Operations/Masters文件夹中,则类名将类似于:admin_Operations_Masters_UserMaster

现在,Web应用程序正在成功构建,当我尝试运行该应用程序时,它显示"无法加载类型"ClassName"所以我发现了因为命名空间由于早期的网站模式而缺席的问题

在MSDN中找到:

默认情况下,使用Visual Studio网站项目模型生成的页面和类不会自动包含代码命名空间。但是,使用VisualStudioWeb应用程序项目模型构建的页面、控件和类会自动包含代码命名空间将网站项目转换为Web应用程序项目时,必须将名称空间添加到代码中

我在项目属性中有DEFAULT NAMESPACE

因此,我尝试通过ReSharper->将名称空间添加到整个项目中;重构器->调整命名空间,但仅适用于.cs文件,不适用于.aspx.cs等and,因此不起作用。

我想我需要制作一个实用程序,根据页面的文件夹路径结构自动在页面中添加名称空间,但这是一个耗时的过程。

因此需要一个变通方法,根据页面的文件夹路径结构自动在页面中添加命名空间

其次,

我所做的测试是,我已经在项目的登录页中封装了默认命名空间,我在该页面上遇到了"无法加载类型问题",并添加到了Inherits属性中。然后执行清洁解决方案,然后重建解决方案但仍然有同样的问题。

我不知道为什么DLL没有用登录页面的类更新。

奇怪的是,当我将Codebehing更改为CodeFile(页面指令的属性)时,页面工作得很好。它的原因源文件在运行项目时存在,但我想使用Codebehin属性,因为它会告诉编译器在DLL中查找类,而不是在源文件中。

最后,总结是:

我有两个主要问题:

  • 无法加载类型"className"
  • 如何根据文件夹路径结构在页面中自动添加命名空间

我已经在这里搜索过了,找到了不同的话题,但没有什么对我有用的;环绕";VS的功能,但我需要逐一查看每个文件,这是目前不可能的。

如此尝试:

  • 将DLL的路径设置为";bin";而不是";bin''debug"
  • 已检查x86的内部版本配置及其。DLL也存在于bin中
  • 已检查所有项目属性,所有属性均正常。数百次清洁和重建解决方案。还清除了临时ASP.NET文件
  • 将"构建操作"设置为";编译";对于.cs类文件
  • 无法将aspx页面的"生成"操作设置为"编译",因为它们是静态html,应该设置为"内容"这是默认的生成操作
  • 用于添加命名空间但不起作用的Resharper解决方案

请帮忙。。。。

任何帮助都将不胜感激。谢谢

ASP.NET网站到Web应用程序的转换问题-无法加载类型';ClassName';AND为所有现有网页设置

解决问题:

早些时候,我曾尝试将生成操作设置为"仅对.cs类文件进行编译",并将站点范围内的所有文件设置为从.csproj文件进行编译,但由于aspx页面本身设置为"编译"而不起作用。

现在,我已将Buid操作更改为编译,这是.aspx.cs和.aspx.designer.cs文件的内容

它解决了这个问题。

例如:

  • 解决方案"TestWebApp1"
    • 项目"TestWebApp1"(ASP.NET Web应用程序
    • 属性
    • 参考文献
    • 应用程序数据
    • 脚本
    • Default.aspx(生成操作:内容
      • Default.aspx。cs(生成操作:编译
    • SiteLayout.Master(构建操作:内容
      • SiteLayout.Master.cs(构建操作:编译
    • Web.config

来源:我的"代码隐藏";代码被称为