2016-04-21 3 views
2

Я использую:ASPNET Основной неоднозначность до RC2 зависимости

.NET Command Line Tools (1.0.0-rc2-002439) 

Product Information: 
Version:  1.0.0-rc2-002439 
Commit Sha: ef0c3b2cee 

Runtime Environment: 
OS Name:  Windows 
OS Version: 10.0.10586 
OS Platform: Windows 
RID:   win10-x64 

и получения:

ошибка CS0121: Вызов неоднозначен между следующими методами или свойствами: «Microsoft.Extensions.DependencyInjection .OptionsServiceCollectionExtensions.Configure (Microsoft.Extensions.DependencyInjection.IServiceCollection, System.Action) 'и' Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.Configure (Microsoft.Extensions.DependencyInjection.IServiceCollection, System.ction) '

Я подозреваю, что в «восстановлении dotnet» имеется несколько сборок OptionModel (разные версии).

Доказательство может быть здесь:

enter image description here Второе предложение с другим именем параметра:

enter image description here

Project.lock.json файл имеет несколько интересных линий ("Инфраструктура" является ссылка сборка):

"Infrastructure/1.0.0": { 
    "type": "project", 
    "framework": ".NETFramework,Version=v4.6.1", 
    "dependencies": { 
     "Domain": "1.0.0", 
     "Microsoft.Extensions.Caching.Abstractions": "1.0.0", 
     "Microsoft.Extensions.OptionsModel": "1.0.0", 
     "Newtonsoft.Json": "8.0.3", 
     "WindowsAzure.Storage": "6.2.1" 
    }, 
    "compile": { 
     "net461/Infrastructure.dll": {} 
    }, 
    "runtime": { 
     "net461/Infrastructure.dll": {} 
    } 
    } 

, в то время как веб-приложение использует M icrosoft.Extensions.OptionsModel/1.0.0-rc2-15914

Здесь секция конфигурации сборки инфраструктуры:

"dependencies": { 
    "Domain": "1.0.0-*", 
    "Microsoft.Extensions.Caching.Abstractions": "1.0.0-*", 
    "Microsoft.Extensions.OptionsModel": "1.0.0-*", 
    "Newtonsoft.Json": "8.0.3", 
    "WindowsAzure.Storage": "6.2.1-*" 
} 

Возникает вопрос: почему разные версии (1.0.0 и 1.0.0 -rc2-15914) выбраны при выполнении «восстановления dotnet»?

UPDATE: Я попытался изменить project.json проекта инфраструктуры на «Microsoft.Extensions.OptionsModel»: «1.0.0-rc2-15914», но я все еще не могу скомпилировать из-за двусмысленности, отображаемой на снимках экрана. Являются ли какие-либо сборки кэшированными где-то на моем компьютере?

ответ

2

Решение:

Microsoft.Extensions.Options вместо пакета Microsoft.Extensions.OptionsModel должны были быть использованы в ссылочного проекта.

+0

В настоящее время я пытаюсь ссылаться на 'Entity Framework 7.0.0-rc2' в проекте' dnx451', после предоставления справочных ссылок в 'project.json' на все, что осталось нерешенным, я застрял в заявленной зависимости на 'Microsoft.Extensions.Options', который не может быть найден ни в одном из двух каналов Nuget (NuGet и MyGet). В цепочке зависимостей он, по-видимому, претендует на «Microsoft.Extensions.Options 1.0.0-rc3', который несовместим с« Framework DNX, Version = v4.5.1' – kall2sollies

+0

. Вы можете скомпилировать без каких-либо проблем, используя «dotnet строить». Это несовместимость инструмента Visual Studio, у меня есть то же предупреждение и в VS2015. – Zygimantas

+0

На самом деле я сделал все, начиная с командной строки CLI, ничего не используя VS, это не сработало для меня. – kall2sollies

Смежные вопросы