2

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

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

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

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

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

4

2 回答 2

2

转换向导做得不错——也就是说,这个过程远非严格的手动——但你仍然需要花费大量时间从网站转移到 Web 应用程序模型。

aspx 页面的“转换为 Web 应用程序”上下文菜单选项会生成一个 myclass.designer.cs 文件,该文件将标记中定义的控件与代码隐藏类联系起来,从而实现智能感知、编译时验证和其他功能。

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

于 2009-11-12T20:13:05.053 回答
1

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

早在 2005 年,Scott Guthrie 就完成了一篇关于将网站项目转换为 Web 应用程序项目的教程。这是关于从网站项目迁移到 Web 应用程序项目的部分。

希望这会有所帮助。

于 2009-11-12T20:15:37.840 回答