Я пишу надстройку для ReSharper 4. Для этого мне нужно было ссылаться на несколько сборок ReSharper. Одна из сборок (JetBrains.Platform.ReSharper.Util.dll) содержит пространство имен System.Linq
с подмножеством методов расширения, уже предоставленных System.Core.
Когда я редактирую код, он создает двусмысленность между этими расширениями, поэтому я не могу использовать OrderBy
, например. Как я могу это решить? Я хотел бы использовать расширения LINQ, а не те, что из ReSharper.
При попытке компиляции я получаю следующую ошибку:
Вызов неоднозначен между следующие методы или свойства:
System.Linq.Enumerable.OrderBy<string,int>(System.Collections.Generic.IEnumerable<string>
System.Func<string,int>)' and 'System.Linq.Enumerable.OrderBy<string,int>(System.Collections.Generic.IEnumerable<string>, System.Func<string,int>
)
EDIT: Я попробовал следующее предложение, к сожалению, без везения. В то же время я "решил" проблему, удалив ссылки на System.Core
. Таким образом, я мог бы использовать расширения, предоставляемые файлами ReSharper DLL.
I загрузил образец программы, где я только что импортировал нужные DLL файлы ReSharper. Я изменил псевдоним System.Core
на SystemCore
, добавил директиву extern alias
, но он все еще не работал. Если я что-то пропустил, пожалуйста, дайте мне знать.
Постскриптум Ссылки относятся к DLL файлам ReSharper v4.1, установленным по умолчанию в "C:\Program Files\JetBrains\ReSharper\v4.1\..."
по умолчанию.