【发布时间】:2017-04-13 01:34:19
【问题描述】:
我已经使用脚本功能和 Microsoft.CodeAnalysis nuget 升级了我的项目,它下载了数百个依赖 System.* 包。之前只有 Microsoft.CodeAnalysis.Common、CSharp、CSharp.Workspaces 等。发生了什么?它是否适用于带有 .NET Framework 4.7 的 Visual Studio 2017?还是它包含在 4.7 中(我在任何地方都没有找到)?我应该等吗?
【问题讨论】:
-
Roslyn 包可与 Visual Studio 2017 配合使用。您能描述一下您遇到的问题吗?
-
是的。正如我所说,我已将包 (Microsoft.CodeAnalysis) 更新为 2.0。它下载了大量的 System.*.dll 依赖项。例如 System.Linq 或 System.Collections(等等)。这些被添加为我的项目的参考,并有效地替换了指向 GAC 的标准 System.Linq。似乎这个 nuget 没有将 .NET Framework 4.7 识别为令人满意的依赖项或其他东西。
-
下载的 System.* nuget 是 v4.3.0。
-
似乎 Microsoft.CodeAnalysis.Common 包具有所有这些依赖项 (>=4.3.0) 并强制它们下载。
-
我正在查看 Microsoft.CodeAnalysis (2.0.0) 的依赖项,它依赖于 .NET Standard 1.3。根据.NET Standard 的平台表,.NET Framework 4.6+ 应该实现它。我希望 4.7 也能做到这一点。然而,这并没有以某种方式被接受。但是,如果我删除所有依赖项(那些额外的 System.* nugets),它仍然可以构建。因此,将 4.7 检测为有效依赖项存在一些问题。要么它太新,要么某处存在更深层次的问题。有可能吗?
标签: c# visual-studio-2017 roslyn roslyn-code-analysis .net-4.7