【问题标题】:Converting an asp.net web site project type to a regular project将 asp.net 网站项目类型转换为常规项目
【发布时间】:2026-01-22 06:35:01
【问题描述】:

我创建了一个新的 vs.net 项目并添加了一个 asp.net 网站项目中的所有文件。

当我编译时,它找不到对类的引用。

在 AppCode 中定义了类,但没有命名空间。

所以我添加了一个命名空间,然后在default.aspx.cs(这是错误的来源)上添加了using 语句。

using 语句没有获取命名空间。

可能是什么问题?

【问题讨论】:

  • 你是什么意思“不拿起命名空间”?你能发布一些代码吗?

标签: c# asp.net web-application-project web-site-project


【解决方案1】:

如果我是你,我会从头开始。网站“项目”与 Visual Studio 中的所有其他实际项目类型都非常不同,因此可能不值得“转换”的麻烦。

我会创建一个空项目并重新开始。您可以复制和粘贴 .aspx 和 .ascx 文件,但任何代码隐藏都需要单独复制和粘贴,可能逐个方法。

【讨论】:

  • 我没有转换它,我从头开始创建了一个新的 vs.net,然后复制并粘贴了所有页面/文件夹。
  • 我是说复制 C# 或 VB.NET 代码是不可能的。在新项目中没有意义。您已经遇到了命名空间问题。
  • 希望 MS 只是从 VS 中删除 Web Site 选项,自从他们添加它以来,它什么也没做,只会引起问题。
  • 其实网站在 Web 应用程序之前就已经存在了。为了向后兼容,它仍然存在。
  • 其实不是的。网站是在 Visual Studio 2005 中引入的,而 Web 应用程序已被删除(它在 VS03/02 中)它在 VS05 SP1 中重新引入。
【解决方案2】:

它更有可能是文件的重复或双重编译,AppCode 文件夹由 ASP.NET 后台编译器构建,当您显式构建项目时,类型会再次创建,因此会生成重复类型。如果您使用 Visual Studio 的转换为 Web 应用程序方法,则 AppCode 默认重命名为 Old_App_Code。检查此链接以将网站转换为网络应用项目

http://msdn.microsoft.com/en-us/library/aa983476(v=VS.100).aspx

【讨论】:

    【解决方案3】:

    说实话,将asp.net web site 项目类型转换为regular project 是一场噩梦。

    根据 Saunders 的建议,最好从头开始,因为第一次转换需要两倍的时间,然后fix-up 损坏的代码。

    【讨论】: