1、備份你的項目
2、從Web API升級到Web API 2,修改global.asax,將
1
|
WebApiConfig.Register(GlobalConfiguration.Configuration);
|
修改為
1
|
GlobalConfiguration.Configure(WebApiConfig.Register);
|
3、通過Nuget,更新下面的包
包名 |
舊版本 |
新版本 |
Microsoft.AspNet.Razor |
2.0.x.x |
3.0.0 |
Microsoft.AspNet.WebPages |
2.0.x.x |
3.0.0 |
Microsoft.AspNet.WebPages.WebData |
2.0.x.x |
3.0.0 |
Microsoft.AspNet.WebPages.OAuth |
2.0.x.x |
3.0.0 |
Microsoft.AspNet.Mvc |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.Mvc.Facebook |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.Core |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.SelfHost |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.Client |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.OData |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.WebHost |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.Tracing |
4.0.x.x |
5.0.0 |
Microsoft.AspNet.WebApi.HelpPage |
4.0.x.x |
5.0.0 |
Microsoft.Net.Http |
2.0.x. |
2.2.x. |
Microsoft.Data.OData |
5.2.x |
5.6.x |
System.Spatial |
5.2.x |
5.6.x |
Microsoft.Data.Edm |
5.2.x |
5.6.x |
Microsoft.AspNet.Mvc.FixedDisplayModes |
|
Removed |
Microsoft.AspNet.WebPages.Administration |
|
Removed |
Microsoft-Web-Helpers |
|
Microsoft.AspNet.WebHelpers |
4、更新根目錄的web.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<
runtime
>
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<!--Two elements removed for Clarity -->
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Web.Helpers"
publicKeyToken
=
"31bf3856ad364e35"
/>
<
bindingRedirect
oldVersion
=
"1.0.0.0-3.0.0.0"
newVersion
=
"3.0.0.0"
/>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Web.Mvc"
publicKeyToken
=
"31bf3856ad364e35"
/>
<
bindingRedirect
oldVersion
=
"1.0.0.0-5.0.0.0"
newVersion
=
"5.0.0.0"
/>
</
dependentAssembly
>
<
dependentAssembly
>
<
assemblyIdentity
name
=
"System.Web.WebPages"
publicKeyToken
=
"31bf3856ad364e35"
/>
<
bindingRedirect
oldVersion
=
"1.0.0.0-3.0.0.0"
newVersion
=
"3.0.0.0"
/>
</
dependentAssembly
>
<!--WebGrease element removed for Clarity -->
</assemblyBinding
|
1
2
3
4
5
6
7
|
<
appSettings
>
<
add
key
=
"webpages:Version"
value
=
"3.0.0.0"
/>
<
add
key
=
"webpages:Enabled"
value
=
"false"
/>
<
add
key
=
"PreserveLoginUrl"
value
=
"true"
/>
<
add
key
=
"ClientValidationEnabled"
value
=
"true"
/>
<
add
key
=
"UnobtrusiveJavaScriptEnabled"
value
=
"true"
/>
</
appSettings
>
|
1
2
3
|
<
securityPolicy
>
<!--<trustLevel name="Medium" policyFile="web_mediumtrust.config"/>-->
</
securityPolicy
>
|
5、修改View文件夾下的web.config
1
2
3
4
5
6
7
8
9
|
<
system.web.webPages.razor
>
<
host
factoryType
=
"System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
/>
<
pages
pageBaseType
=
"System.Web.Mvc.WebViewPage"
>
<
namespaces
>
<
add
namespace
=
"System.Web.Mvc"
/>
<!--Elements removed for Clarity.-->
</
namespaces
>
</
pages
>
</
system.web.webPages.razor
>
|
1
2
3
4
5
6
7
8
9
10
11
|
-->
<
pages
validateRequest
=
"false"
pageParserFilterType
=
"System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType
=
"System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType
=
"System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
>
<
controls
>
<
add
assembly
=
"System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
namespace
=
"System.Web.Mvc"
tagPrefix
=
"mvc"
/>
</
controls
>
</
pages
>
</
system.web
>
|
1
2
3
4
5
6
7
|
<
configuration
>
<
configSections
>
<
sectionGroup
name
=
"system.web.webPages.razor"
type
=
"System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
>
<
section
name
=
"host"
type
=
"System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
requirePermission
=
"false"
/>
<
section
name
=
"pages"
type
=
"System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
requirePermission
=
"false"
/>
</
sectionGroup
>
</
configSections
>
|
6、右鍵解決方案,選擇卸載項目
7、右鍵項目,編輯 [ProjectName].csproj
8、找到 ProjectTypeGuids 節,刪除Guid
{E3E379DF-F4C6-4180-9B81-6769533ABE47},保存
9、右鍵項目,重新加載項目