0

После создания нового проекта (например, в .net ядра) в global.json решения выглядит, чтоПытаясь понять поведение по умолчанию «проектов» в global.json в VS

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

И новый проект, созданный внутри папки src, и внутри папки решения существует физическая папка. Хотя global.json появляется внутри Элемент решения папка с решениями в визуальной студии, физическая папка с именами элементов решения не существует.

Теперь, если я добавляю unittest проект, который он создает только внутри папки решения, он не создает папку решений или физическую папку с именем test.

Затем я создал тестовую папку, которая не отображается на VS, и создание нового тестового проекта не создается в тестовой физической папке.

Если я добавлю новый проект, новый проект, созданный внутри src. Если я добавлю какой-либо элемент (например, XMLFile), он добавит его в папку решений Solution Items. Но если добавить тестовый проект, если только появится под папкой раствором

Теперь мой проект

enter image description here

и физическая папка выглядит ниже

enter image description here

Однако мой вопрос о расхождения в поведении.

  1. Почему поведение отличается для тестовых проектов
  2. Почему тест добавленного global.json автоматически?

Я также заметил, что если тестовый проект не находится внутри тестовой папки, иногда он не находит тесты xunit или nunit, но он находит тесты MSTest. Итак, моя точка в том, как тест в global.json помогает нам?

+1

может помочь http://stackoverflow.com/questions/34791682/explanation-of-the-projects-section-in-global-json-in-asp-net-5 – Venky

ответ

0

Несколько вещей, происходящих здесь.

Проекты, JSON Элемент

Думай об этом, как, как .sln файлов, используемых для работы. Он рассказывает Visual Studio, где искать проекты для загрузки. Они также могут быть полными путями (e.x. C: \ Projects \ SomeOtherProject). Вы должны проверить официальную документацию здесь, которая объясняет немного больше: https://docs.microsoft.com/hu-hu/dotnet/articles/core/tools/global-json

Следует также отметить, что в предстоящем выпуске ядра .net (в настоящее время обозначен предварительный просмотр 4) мы вернулись к файлам .sln, и поэтому Элемент global.json projects удален (см. здесь: https://docs.microsoft.com/hu-hu/dotnet/articles/core/preview3/tools/global-json)

Где ваши новые проекты размещаются?

Честно говоря, это только соглашение. Когда вы создаете проект в Visual Studio, вас спрашивают, где вы хотите разместить проект, так что это зависит от вас ... Если вы хотите все в одной папке с решением, тогда все в порядке. Теперь просто кажется, что у вас есть папка «src» для вашего кода, readme.md в корне и т. Д.

Очевидно, что если вы создаете проекты, используя dotnet new или yoman, у вас есть полный контроль над что происходит. В вашем коде необходимо, чтобы находился в папке «src».

Тестирование в .net ядра

Я вижу ваш идти по неверному пути с тестированием. Сначала прочитайте эту статью: http://dotnetcoretutorials.com/2017/01/30/running-unit-tests-dotnet-test/

Итак, пара вещей.

  1. . Основные тесты ядра теперь являются «консольными» приложениями. Или создаются по крайней мере как их в VS.

  2. Чтобы получить тесты на запуск, вам необходимо установить конкретные пакеты тестовых прогонов (тестовые бегуны существуют для MSTest, XUnit и NUnit).

  3. Вы можете запускать тесты из командной строки с помощью «теста dotnet».