如何:将丰富的 Internet 应用程序升级到 Visual Studio 2012
本文档提供升级丰富Internet应用程序(RIA)以下类型的提供命令:
Silverlight业务应用程序
Silverlight应用程序或Silverlight使用自定义的RIA服务身份验证服务的导航应用程序
Windows communication foundation RIA服务类库
ASP.NET 动态数据实体 Web 应用程序.
如果在Visual Studio的早期版本创建的RIA,则必须升级应用程序,然后才能打开它。Visual Studio 2012之前。
Silverlight业务应用程序
如果使用 Visual Studio 2012 打开在 Visual Studio 2010 创建适用于SP1 GDR的C#或Visual Basic Silverlight业务应用程序项目,您必须修改项目,因为这取决于 Microsoft SQL Server 2008 Express 实例的身份验证。由于SQL Server express并非始终可用在 Visual Studio 2012,必须更新项目以使用ASP.NET泛型提供程序。
在Web.Config文件中,修改以下部分使用泛型,提供程序,则代码示例所示:
连接字符串小节:
<connectionStrings>
<!--<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />-->
<add name="DefaultConnection" connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=aspnet-BusinessApplication1.Web-20111129040955;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
成员资格部分:
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<clear/>
<!--<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />-->
<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
</providers>
</membership>
roleManager部分:
<roleManager enabled="true" defaultProvider="DefaultRoleProvider">
<providers>
<clear/>
<!--<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" /> -->
<add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/"/>
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
</providers>
</roleManager>
配置文件节
<profile defaultProvider="DefaultProfileProvider">
<providers>
<clear/>
<!--<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>-->
<add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/"/>
</providers>
<properties>
<add name="FriendlyName"/>
</properties>
</profile>
如果您使用SP1的 Visual Studio 2010 打开在 Visual Studio 2012创建的C#或Visual Basic Silverlight业务应用程序项目,您必须修改项目,因为它依赖于身份验证的泛型提供程序。您必须更新使用SQL Server express的项目。
在Web.Config文件中,修改以下部分使用SQL Server express,,则代码示例所示:
连接字符串小节:
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
<!--<add name="DefaultConnection" connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=aspnet-BusinessApplication1.Web-20111129040955;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>-->
</connectionStrings>
成员资格部分:
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />
<!--<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>-->
</providers>
</membership>
roleManager部分:
<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<!--<add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/"/>-->
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
</providers>
</roleManager>
配置文件节:
<profile defaultProvider="AspNetSqlProfileProvider">
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
<!--<add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/"/>-->
</providers>
<properties>
<add name="FriendlyName"/>
</properties>
</profile>
Silverlight应用程序或Silverlight使用自定义的RIA服务身份验证服务的导航应用程序
除了在升级中 Visual Studio 2010 创建适用于SP1 GDR的Silverlight业务应用程序(oba)本主题前面列出的步骤之外,必须先将成员资格和角色提供程序从中System.Web.Providers.dll的默认提供程序继承。
警告 |
---|
在 Visual Studio 2010 的web开发服务器不支持Windows身份验证。如果您配置 Visual Studio 2012 项目使用Windows身份验证,必须撤消这些更改,在将项目迁移到 Visual Studio 2010之前。或者,可以保留更改和使用Internet信息服务(IIS)而不是web开发服务器在 Visual Studio 2010上。 |
Windows communication foundation RIA服务类库
可以使用 Visual Studio 2012 打开C#或Visual Basic WCF RIA服务类在 Visual Studio 2010 创建SP1 GDR,并且不进行任何修改的库项目。
可以使用SP1的 Visual Studio 2010 打开C#或Visual Basic WCF RIA服务类在 Visual Studio 2012 中创建带有以下修改的库项目。Visual Web Developer 2010 Express 不支持解决方案文件夹,用于WCF RIA服务选件类在 Visual Studio Express 2012 for Web的库项目。因此,建议您执行以下步骤之一,在迁移该项目。
移动Silverlight选件类库和.NET选件类库项目在解决方案文件夹之外,然后删除该文件夹。
使用 Visual Studio 2010 的版本除了 Visual Web Developer 2010 Express 外打开在 Visual Studio Express 2012 for Web中创建的项目。
ASP.NET 动态数据实体 Web 应用程序
在 Visual Studio 2012不需要修改在 Visual Studio 2010 创建的C#或Visual Basic ASP.NET动态数据实体Web应用程序项目SP1 GDR打开这些文件。