Asp.net 将项目从.NET 4.5重定目标到.NET 2.0时,无法加载Microsoft.CodeDom.Providers.DotNetCompilerPlatform

Asp.net 将项目从.NET 4.5重定目标到.NET 2.0时,无法加载Microsoft.CodeDom.Providers.DotNetCompilerPlatform,asp.net,visual-studio-2015,Asp.net,Visual Studio 2015,我们的Web服务器目前正在运行/利用.NET 2.0来运行应用程序。我用ASP.NET和Visual Basic为我的老板创建了几个网站;我对这个平台还不熟悉,但我的网站已经非常棒了。我只是简单地使用Visual Studio每次创建一个新的空ASP.NET Web应用程序,然后从那里开始 他说他想切换到4.5,但我理解他不想造成任何服务中断。这使得我不得不将两个web应用程序都重新定位到.NET2.0。我目前遇到的唯一问题是一个例外: 无法加载文件或程序集“Microsoft.CodeDom.

我们的Web服务器目前正在运行/利用.NET 2.0来运行应用程序。我用ASP.NET和Visual Basic为我的老板创建了几个网站;我对这个平台还不熟悉,但我的网站已经非常棒了。我只是简单地使用Visual Studio每次创建一个新的空ASP.NET Web应用程序,然后从那里开始

他说他想切换到4.5,但我理解他不想造成任何服务中断。这使得我不得不将两个web应用程序都重新定位到.NET2.0。我目前遇到的唯一问题是一个例外:

无法加载文件或程序集“Microsoft.CodeDom.Providers.DotNetCompilerPlatform,版本=1.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。此程序集由比当前加载的运行时更新的运行时生成,因此无法加载

我使用了NuGet Package Restore(如在线所述),并手动“安装软件包/更新软件包-重新安装”了Microsoft.CodeDom.Providers.DotNetCompilerPlatform,但它仍然抛出异常。我甚至创建了一个新项目,目标是2.0,创建了一个Web表单页面,运行了它,但仍然收到了错误


任何帮助都将不胜感激。可能有些东西我完全不知道,因为我是这个平台的新手。

虽然这并不能完全回答您的问题,但您需要知道,同一IIS服务器上的不同web应用程序可以使用不同版本的.NET framework


只需将每个web应用设置为使用不同的应用程序池,然后根据需要设置应用程序池的框架。当然,它应该设置为应用程序期望的值。

回到这里,一劳永逸地结束它,我不可能做我想做的事情。NET项目中的代码是由我在问题中链接的内容编译的

Microsoft.CodeDom.Providers.DotNetCompilerPlatform


无论出于何种原因,重定目标到.NET 2.0要求我创建一个最初以2.0为目标的新项目(无重定目标),然后将文件转储到该项目中。它可以无缝地工作。

过去五到十年中的所有新产品都专注于.NET Framework 3.5及以上版本(尤其是4.5及以上版本)。如果你的老板没有意识到这一事实,我建议你提醒他/她。@LexLi他当然意识到需要更改,但幸运的是,我的应用程序在2.0之后没有依赖任何东西。在2.0之后,我是否应该知道有什么显著的改进?我知道我的问题是由于DotNetCompilerPlatform在2.0之后3年多才出现。谢谢你的回复!