Не удается установить BenchmarkDotNet 0.10.2 в Visual Studio Ultimate 2012
Я пытаюсь установить пакет BenchmarkDotNet в совершенно новый пустой консольный проект в Visual Studio 2012 Ultimate и получаю этот журнал ошибок:
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, но это не та версия, которую я могу использовать для реальной разработки.
2 ответа
Краткий ответ: вы можете установить BenchmarkDotNet только в VisualStudio 2015+. Visual Studio 2012 использует старую версию NuGet (2.x), которая не поддерживает некоторые современные пакеты. Одной из зависимостей BenchmarkDotNet является Roslyn ( https://www.nuget.org/packages/Microsoft.CodeAnalysis.CSharp/), для которого требуется NuGet 3.x+.
Ниже приведено связанное обсуждение минимально поддерживаемой версии Visual Studio в репозиториях BenchmarkDotNet и Roslyn:
Возможный обходной путь: вы можете создать новый консольный проект в VS2015/2017, установить BenchmarkDotNet и скопировать весь проект (с помощью packages
папку) на ваш компьютер с VS2012.
Поиском по Google я только что нашел эту проблему на github, которая очень похожа на вашу.
Похоже, что вы не сможете интегрировать BenchmarkDotNet выше 0.9.7 в Visual Studio ниже 2015 года.
Вы должны попробовать 0.9.7, чтобы увидеть, соответствует ли он вашим потребностям.