在开发ASP.NET Web API 2项目时,许多开发者可能遇到过项目发布到IIS服务器后无法正常运行的问题。本文将详细讨论这一问题,并提供一个实用的解决方案。
问题描述
当你在Visual Studio中创建一个新的ASP.NET Web API 2项目,尝试将其发布到本地文件夹并部署到IIS服务器时,可能遇到如下错误:
Server Error in '/' Application.
Could not load file or assembly 'Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.
这个错误通常出现在将项目的发布目标平台(Platform Target)设置为x64后。尽管在Visual Studio中发布看起来是成功的,但当你将发布的文件复制到IIS服务器上并尝试访问时,就会遇到上述错误。
错误原因分析
这个错误的根源在于ASP.NET编译器路径(AspnetCompilerPath)在更改项目平台目标为x64时并没有随之更新。默认情况下,ASP.NET使用的是32位的编译器路径,