Как скопировать appsettings. json в папку DEBUG, как часть сборки do tnet - PullRequest
0 голосов
/ 27 января 2020

У меня консольное приложение, которое использует appsettings. json для хранения значений конфигурации.

В Visual Studio IDE, когда я устанавливаю AlwaysCopy для appsettings. json, он будет скопирован в папку DEBUG, как часть BUILD.

Но, in. net core, когда я запускаю dotnet build, он не копирует appsettings. json в папку DEBUG. У меня уже есть конфигурация ниже xml, добавленная в .csproj

  <Content Include="appsettings.json">
      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
  </Content>

Когда я выполняю dotnet publish, она копируется в папку publi sh. Но этого не происходит, когда я делаю dotnet build. Подскажите, пожалуйста, почему этого не происходит и что мне делать, чтобы скопировать настройки приложения. json в папку DEBUG?

1 Ответ

0 голосов
/ 29 января 2020

Нашел ответ в другой теме: Stackoverflow ( Разница между сборкой и публикацией sh в VS? ). В. NET Core, build & publi sh отличаются от. NET Framework.

Building. NET Приложения Framework будут генерировать те же файлы, что и Publi sh. Он создаст все зависимости в виде двоичных файлов, включая внешние зависимости (например, NuGets). Таким образом, продукт сборки dotnet готов к передаче на другой компьютер для запуска

Building. NET Базовых приложений, если у проекта есть сторонние зависимости, такие как библиотеки из NuGet, они разрешаются из кэш NuGet и не доступны со встроенным выходом проекта. Поэтому продукт do tnet build не готов к передаче на другую машину для запуска. Вам нужно запустить Publi sh, чтобы получить все сторонние зависимости в виде двоичных файлов в выходной папке.

Если мы хотим, чтобы файл был частью publi sh, нам нужно добавить атрибут ниже. В сборке этот файл не копируется в папку DEBUG / RELEASE.

<Content Include="appsettings.json">
      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
  </Content>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...