我有一个ASP.NET3.5网站(VisualStudio行话),但该网站仍在继续发展,而且在其他方面看起来相当牛仔.我希望看到它被转换成一个Web应用程序(名称空间等等).

这是否可以在Visual Studio中轻松完成?如果没有,有没有其他工具可以自动创建所有的命名空间,等等?

推荐答案

Well, it turns out that the option "Convert to web application" does NOT exist for "websites". The option "Convert to web application" does exist only for "web applications" !!!!

[emphasis mine]

所以,这里的交易,做

  • Add a new "Web Application" to your VS 2008 solution (File->Add->New Project->C#->Web->ASP.NET Web Application).

  • 之后,你将旧"网站"中的所有文件复制到新网站上

  • 下一步是最难看的,您需要"手动"添加引用 在您的"网站"中连接到新的"网络" 应用程序".我认为VS2008 POWER COMMANDS玩具会帮我做到这一点 就像它从其他对象复制引用一样 项目类型,但它没有.您有 自己做,手工做,而且 在这一步你必须小心. 如果您有多个版本的 相同的程序集(如我的 case )或同时具有GAC和GAC的程序集 以及本地版本.

  • 不断重复最后一步,try 构建"web应用程序".

  • 之后,转到VS中的"web应用程序"根项目 node

  • 再次try 构建"web应用程序".如果出现错误,请查看

  • 一旦你成功完成VS构建,你应该准备好开始.

  • 更新:当测试你的页面时,最关注的是

  • UPDATE2:在转换过程中,VS2008将您的"App_Code"重命名为 "Old_App_Code".这个新名字听起来 很难看但是不要把它重新命名.在……里面 "Web应用程序"模型,所有代码 将在一个集合中.在运行时, Web服务器不知道哪个Web 您正在使用的项目类型.确实是这样的 获取"App_Code"文件夹中的所有代码,然后 为其创建新部件.这 方法,如果您在名为的文件夹中有代码 "App_Code",您将以运行时结束 相同类型的编译错误 存在于两个程序集中,一个是 由VS创建,而由 IIS/ASP.NET开发服务器.至 避免那样.保留"Old_App_Code" 使用相同的名称,或将其重命名为 除"App_Code"之外的任何值.请勿 将任何代码放入此类"App_Code"中 文件夹,并且最好没有 在您的"网站"中使用该名称的文件夹 申请"完全没有.

这件事我早就知道了,但我忘了. 现在因为我没有用过"网站"模式 长久:(.

Asp.net相关问答推荐

目前不支持超过 65534 个段的跨区存档

web.config 部分的单独配置文件

Linq 将复杂类型聚合成一个字符串

在 Sessions 中存储自定义对象

ASP.NET Web 应用程序 (.NET Framework) 与 ASP.NET Core Web 应用程序 (.NET Framework) 之间的差异

控制器 SessionStateBehavior 是只读的,我可以更新会话变量

Response.Redirect 使用 ~ 路径

在上下文中找不到 owin.Environment 项

IIS 7.5 上没有 asp.net 功能

ASP.NET URL 重写

判断邮箱地址是否对 System.Net.Mail.MailAddress 有效

ASP.NET 中的多选下拉列表

Web.Config 中的 Assemblies node 的用途是什么?

.NET AJAX 调用 ASMX 或 ASPX 或 ASHX?

HttpResponse.End 或 HttpResponse.Close 与 HttpResponse.SuppressContent

如何在 GridView 中隐藏 TemplateField 列

在后面的代码中删除 css 类

Ashx 文件中的 HttpContext.Current.Session 为空

x-powered by是什么意思?

ASP.NET MVC3 局部视图命名约定