【问题标题】:Upgrade existing project to use Roslyn compiler升级现有项目以使用 Roslyn 编译器
【发布时间】:2015-07-29 21:27:09
【问题描述】:

我安装了 VS 2015 并导入了现有的解决方案。此解决方案在 App_Code 文件夹中包含一个 Razor 助手。错误列表抱怨:

类型或命名空间名称“global_asax”不存在于 命名空间“ASP”(您是否缺少程序集引用?)

经过一番研究,我发现这是(或曾经是)一个已知问题(参见This SO answerthis article)。这些文章中给出的解决方案是手动安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform NuGet 包。

所以我在我的网络应用项目中安装了那个 NuGet 包,错误就消失了。

但是现在当我打开包管理器控制台时出现错误,抱怨它无法复制某些文件。 Microsoft.CodeDom.Providers.DotNetCompilerPlatform NuGet 包配置信息中给出了丢失文件的(不正确的)路径。

所有这些让我相信一定有更好的方法!

我错过了什么吗?我不应该通过 VS 2015 自动获得新的 Roslyn 魔法吗?如果没有,有没有更好的方法可以将它安装到我现有的项目中?还是我只是在有人需要修复的损坏的基础设施位上磕磕绊绊?

【问题讨论】:

    标签: asp.net-mvc visual-studio-2015 roslyn


    【解决方案1】:

    我在 VS 2015 中创建了一个新的 MVC 应用程序,并盯着它安装的 NuGet 包。原来我们显然需要安装

    Microsoft.Net.Compilers NuGet 包

    (而不是Microsoft.CodeDom.Providers.DotNetCompilerPlatform 包)。

    编辑:在对这个解决方案进行了更多的摆弄之后,它似乎并不比我在 OP 中给出的(失败的)解决方案更好。但不要害怕,显然有一个答案(如果你正在运行 VS 2015)。我会将其作为单独的答案发布。

    【讨论】:

      【解决方案2】:

      根据this MSDN blog post,实际上,解决方案是安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 包(我希望并假设,自从我在 2015 年 7 月尝试之后,他们已经修复了该包)。 VS 2015 UI 中甚至还有一些魔法可以通过项目菜单安装该软件包。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-12-06
        • 1970-01-01
        • 1970-01-01
        • 2021-06-03
        • 2016-10-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多