Ориентация на веб-проект.NET Core 2.0.1 из проекта C# Test на основе.NET 4.7.1
Я начинаю с разработки на основе тестов с Visual Studio 2017 Enterprise, но не могу - как бы я ни старался - заставить ее работать. Я пробовал всюду по WWW искать решение, но безрезультатно. Поэтому я надеюсь, что кто-то здесь сможет помочь. Вопрос заключается в следующем:
Я создал веб-приложение ASP.NET Core и отдельный тестовый проект; Я использую NUnit в качестве основы тестирования (сначала я использовал xUnit, но по какой-то причине тесты исчезли и не запускались). В любом случае, когда я пытаюсь сослаться на мое основное веб-приложение ASP.NET из тестового проекта, появляется следующая ошибка:
Проект '..\MyProject\MyProject.csproj' нацелен на 'netcoreapp2.1'. На него не может ссылаться проект, нацеленный на.NETFramework,Version=v4.7. UnitTestProject1
Кто-нибудь имеет представление о том, что может быть не так и как это можно исправить? Любая помощь будет оценена.
С наилучшими пожеланиями.
РЕДАКТИРОВАТЬ
Я немного уточняю этот вопрос здесь. Я пытаюсь проиллюстрировать это ниже. Я приложил 3 изображения, чтобы показать, что я имею в виду.
Во-первых, когда я хочу создать тестовый проект в Visual Studio, я перехожу к шаблонам "Тест" - и там я вижу только шаблоны, показанные на рис. 1 - там у меня есть возможность выбора между различными версиями.NET, как показано в раскрывающемся списке. Независимо от того, какой я выбрал, я получил ошибку, упомянутую в моем предыдущем посте.
Затем я попытался использовать шаблоны.NET Core, где я нашел два типа тестовых проектов: тесты MSTest и xUnit (см. Рис. 2). MSTest не может быть использован в моем случае, так как он слишком ограничен для этого конкретного приложения. Поэтому я попытался использовать тестовый проект xUnit. Однако, когда я делаю это, система жалуется на отсутствие библиотек всех видов, и при просмотре раздела "Зависимости" в обозревателе решений все библиотеки отображаются с желтым треугольником "Предупреждение" на них (см. Рис. 3). и ничего не компилируется вообще.
Так что я немного застрял. Есть идеи?
1 ответ
Тестовый проект нацелен на.NET Framework 4.7, а веб-проект нацелен на.NET Core App 2.1.
Вы не можете добавить ссылку от одного к другому, поскольку они несовместимы.
Чтобы решить эту проблему, вы должны создать тестовый проект, предназначенный для netcoreapp2.1, и добавить ссылку на него в веб-проект.