我正在尝试将BenchmarkDotNet软件包安装到Visual Studio 2012终极版的全新空白控制台项目中,我收到此错误日志:
PM> Install-Package BenchmarkDotNet
Attempting to resolve dependency 'BenchmarkDotNet.Toolchains.Roslyn (≥ 0.10.2)'.
Attempting to resolve dependency 'BenchmarkDotNet.Core (≥ 0.10.2)'.
Attempting to resolve dependency 'System.Threading.Tasks.Extensions (≥ 4.0.0)'.
Attempting to resolve dependency 'Microsoft.CodeAnalysis.CSharp (≥ 1.3.2)'.
Attempting to resolve dependency 'Microsoft.CodeAnalysis.Common (= 1.3.2)'.
Attempting to resolve dependency 'System.Collections.Immutable (≥ 1.1.37)'.
Attempting to resolve dependency 'System.Reflection.Metadata (≥ 1.2.0)'.
Install-Package : 'System.Reflection.Metadata' already has a dependency defined for 'System.Collections.Immutable'.
At line:1 char:1
+ Install-Package BenchmarkDotNet
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
BenchmarkDotNet看起来很简单......但它并没有为我安装!有没有人遇到过这个问题,或者在Visual Studio 2012上遇到过这个问题?
注意:它确实安装在Visual Studio 2015社区中,但这不是我可以用于实际开发的版本。
答案 0 :(得分:2)
通过谷歌搜索,我刚刚在github上发现了这个与你的非常相似的问题。
您似乎无法在Visual Studio中将BenchmarkDotNet整合到0.9.7以上,低于2015年。
您应该尝试0.9.7以确定它是否仍然符合您的需求。
答案 1 :(得分:2)
简短回答:您只能在VisualStudio 2015+中安装BenchmarkDotNet。 Visual Studio 2012使用旧版本的NuGet(2.x),它不支持某些现代软件包。 BenchmarkDotNet依赖项之一是Roslyn(Microsoft.CodeAnalysis.CSharp),它需要NuGet 3.x +。
以下是有关BenchmarkDotNet和Roslyn存储库中Visual Studio的最低支持版本的相关讨论:
可能的解决方法:您可以在VS2015 / 2017中创建一个新的控制台项目,安装BenchmarkDotNet并使用VS2012将整个项目(带有packages
文件夹)复制到您的计算机。