Справочные Коллекции. Неизменный в визуальном расширении студии - PullRequest
0 голосов
/ 16 мая 2018

У меня есть визуальное студийное расширение (для VS 2017), которое использует Roslyn в некоторых функциях и ссылках System.Collections.Immutable, Version=1.2.2.0.Когда я впервые запустил его, он жаловался, что у него нет ссылки на сборку System.Collections.Immutable, поэтому я добавил его в source.extensions.vsixmanifest (вместе с Microsoft.CodeAnalysis.CSharp.dll и Microsoft.CodeAnalysis.dll, как это происходит).

Это исправило мою проблему с отсутствующей сборкой, но теперь я получаю:

Метод не найден: 'System.Collections.Immutable.ImmutableArray`1 Microsoft.CodeAnalysis.Scripting.Script.Compile (System.Threading.CancellationToken) '.

Я полагаю, что он все еще может ссылаться на другую версию System.Collections.Immutable при отладке расширения, если я попробую это:

System.Reflection.Assembly.GetAssembly(typeof(System.Collections.Immutable.ImmutableArray))

Я получаю:

Ошибка CS0433: Тип 'ImmutableArray' существует в обоих 'System.Collections.Immutable, Version = 1.2.2.0, Culture = нейтральный,PublicKeyToken = b03f5f7f11d50a3a 'и' System.Core, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089 '

Есть ли способ решить эту проблему в расширении?(такие вещи, как .config перенаправления сборки не очень хорошо работают, если вы не отредактируете собственный .config Visual Studio, которого я бы предпочел избегать)

...