为什么VS2005中的Web应用程序项目提供“转换为Web应用程序”菜单选项

时间:2009-11-12 20:07:17

标签: visual-studio web-site-project web-application-project

我相信我完全理解Visual Studio 2005的网站模型与VS2005 SP1中完全交付的Web应用程序项目模型之间的差异 - 但我遇到了一个令人困惑的事情:

我有一个我写的Web应用程序项目(它有一个带有编译的projectname.dll的bin文件夹,也引用了.dll等)。但我只是注意到,如果我在解决方案资源管理器中右键单击该项目,则会显示一个名为“转换为Web应用程序”的菜单项。这对我来说毫无意义。

我将此项目与VS2005中的“网站”解决方案进行比较,并考虑将其转换为Web应用程序项目。奇怪的是,解决方案资源管理器在这里没有提供与“转换为Web应用程序”相关的内容,就像人们认为可行和/或适当一样。

我总结说,没有什么可以帮助自动将“网站”构造更改为适当的“Web应用程序项目”。我认为这一切都必须手工完成。诸如将App_Code中的文件重构为一个或多个类库项目之类的任务需要手动完成。

我意识到有很多关于历史和差异的文章,但有人可以解释为什么“转换为网络应用程序”的提议似乎是在“错误的”模式中进行的 - 并且只是确认转换是手动的。

2 个答案:

答案 0 :(得分:2)

转换向导做得不错 - 这个过程远非严格的手动 - 但你仍然会花很多时间从网站转向网络应用程序模型。

aspx页面的“转换为Web应用程序”上下文菜单选项会生成一个myclass.designer.cs文件,该文件将标记中定义的控件绑定回代码隐藏类,允许智能感知,编译 - 时间验证和其他事情。

对项目文件执行此操作应为项目中的所有aspx生成设计器文件,我相信还会创建一些默认的应用程序设置,例如程序集名称等,这些设置未在网站项目中定义,输出是源,而不是程序集。

答案 1 :(得分:1)

我猜你写的'web应用程序'并不是从正确的vsproj文件开始的。如果您引入的项目没有正确的文件系统方案.aspx,aspx.cs,aspx.designer.cs那么visual studio将假设您正在尝试创建一个“Web应用程序”并为您提供转换特征

回到2005年,Scott Guthrie做了一个关于将网站项目转换为Web应用程序项目的论坛。以下是关于从网站项目迁移到Web应用程序项目的the section

希望这会有所帮助。