2016-08-07 4 views
1

Ядро ASP.NET (.NET Core) может добавить библиотеку классов (.NET Core) в качестве ссылки, но не может разрешать публичные классы или интерфейсы в библиотеке классов.Не удается разрешить библиотеку классов

При добавлении ссылки, восстановлении пакетов и создании решения сообщений об ошибках нет, пока я не хочу использовать общедоступные интерфейсы или классы в библиотеке классов. Сообщение об ошибке: «Не удается разрешить символ« IMessagesService ».

Я искал в подобных вопросах, было только решение об изменении netstandard1.5 до 1.4 в project.json в библиотеке классов, но оно не было «т работы. и основной проект и библиотека классов находятся в той же папке (ЦСИ). и есть только один global.json.

Global.Jason

{ 
    "projects": [ "src", "test" ], 
    "sdk": { 
    "version": "1.0.0-preview2-003121" 
    } 
} 

project.json в библиотеке классов

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "NETStandard.Library": "1.6.0" 
    }, 

    "frameworks": { 
    "netstandard1.4": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

project.json в главном проекте (ASP.NET ядро)

{ 
    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.0.0", 
     "type": "platform" 
    }, 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0", 
    "CoreWebApplicationTestServices": "1.0.0-*" 
    }, 

    "tools": { 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

Ссылка добавлена ​​без каких-либо ошибок.

enter image description here

Но есть ошибки, когда я хочу использовать открытый интерфейс в библиотеке классов enter image description here

Что я сделал не так? Или, может быть, это ошибка! Большое спасибо ...

+1

Попробуйте отключить Reshaper, в прошлом было известно, что определенные версии Resharper вызывают проблемы с проверкой intellisense/runtime-validation. По крайней мере, я подозреваю, что вы используете Resharper, поскольку сообщения об ошибках выделены иначе, чем в vanilla VS2015. – Tseng

+0

Да, вы правы. Это проблема с Resharper. После добавления services.AddTransient (); to ConfigureServices, приложение работает правильно, но с ошибкой Resharper не от компилятора. Спасибо. –

ответ

0

Попробуйте изменить "Microsoft.AspNet.Mvc": "6.0.0-rc1-final" к "Microsoft.AspNetCore.Mvc": "1.0.0"

0

Из ваших скриншотах, кажется, вы используете ReSharper. Из прошлого было известно, что в некоторых версиях проверки времени разработки ReSharper не удается работать над (ASP) проектами .NET Core, однако программа компилирует без ошибок.

Отключение ReSharper должно решить проблему.

Использование новой версии ReSharper может решить проблему, то есть версию ReSharper 2016.2 EAP (Early Access Program), указанную в ReSharper Ultimate 2016.2 EAP kicks off.

+0

Да, как я уже упоминал выше, проблема в Resharper и, к сожалению, обновленная до последней версии Resharper не решает проблему для меня. –

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