Visual studio 2008中的Web Site向导讨论
selfcherish
机器上了Visual Studio 2008和其SP1,还装了NetAdvantage for .NET 2008 Vol. 2 CLR 3.5 for ASP.NET 3.5,Microsoft ASP.NET 2.0 AJAX Extensions 1.0和ASP.NET 2.0 AJAX Templates for Visual Studio 2008,于是,在创建Web Site的时候,向导里边增加了些东西,例如,在Add New Web Site向导中多了NetAdvantage AppStyling Web Site和AJAX 1.0-Enabled ASP.NET 2.0 Web Site。选择了这两个Web Site类型的时候,都涉及到对AJAX的支持,于是就会出现使用ScriptManager控件是,所添加的引用版本的问题,可能同时会出现System.Web.Extensions 1.0.61025.0和System.Web.Extensions 3.5.0.0这两个相同类型的不同版本的引用出现,这个时候,当Build创建的Web Site的时候,就会出现如下错误:
E:/Documents/SystemDocuments/Visual Studio 2008/Projects/WebThreeFiveSln/AJAXEnabledWebSite35/Default.aspx(10,37): error CS0433: 类型“System.Web.UI.ScriptManager”同时存在于“c:/Windows/assembly/GAC_MSIL/System.Web.Extensions/3.5.0.0__31bf3856ad364e35/System.Web.Extensions.dll”和“c:/Windows/assembly/GAC_MSIL/System.Web.Extensions/1.0.61025.0__31bf3856ad364e35/System.Web.Extensions.dll”中
这时,Web Site的属性页中大致如图:
本文就在向导过程中,各步骤的选择,并结合使用用NetAdvantage for .NET 2008 Vol. 2 CLR 3.5 for ASP.NET 3.5的NetAdvantage 8.2 Web CLR3x工具箱下的WebDialogWindow控件,所导致的System.Web.Extensions的版本作一简单的讨论。
举例来说:
1.NetAdvantage AppStyling Web Site->左上选.NET Framework 2.0->提供ASP.NET 2.0 AJAX Extensions(Yes)->升级到.NET Framework 3.5(No)->Build(成功)->使用WebDialogWindow控件(冲突)->使用属性页将.NET版本,改成.NET Framework 3.5->(成功Build)
2.NetAdvantage AppStyling Web Site->左上选.NET Framework 3.5->提供ASP.NET 2.0 AJAX Extensions(Yes)->冲突->使用属性页将.NET版本,改成.NET Framework 3.5或.NET Framework 2.0(成功Build)
3.NetAdvantage AppStyling Web Site->左上选.NET Framework 3.5->提供ASP.NET 2.0 AJAX Extensions(No)->升级到.NET Framework 3.5(Yes)->Build(成功)->使用WebDialogWindow控件(可以)
4.NetAdvantage AppStyling Web Site->左上选.NET Framework 2.0->提供ASP.NET 2.0 AJAX Extensions(Yes)->升级到.NET Framework 3.5(Yes)->Build(成功,因为这个时候,虽然还升级到了.NET Framework 3.5,但是还没有使用其引用是System.Web.Extensions 3.5.0.0的ScriptManager控件)->使用WebDialogWindow控件(冲突)->使用属性页将.NET版本,改成.NET Framework 2.0,再使用属性页将.NET版本,改成.NET Framework 3.5->(成功Build)
总结:
希望能找到更好的创建Web Site的方式,到时候再贴出来!