Включая файлы содержания в .csproj, которые являются вне конуса проекта

Существуют немного (очень немного) законное использование для goto (особенно в C как заместитель для обработки исключений).

73
задан Timo Tijhof 14 July 2012 в 19:29
поделиться

2 ответа

Вам необходимо добавить файл в виде ссылки:

  1. Щелкните правой кнопкой мыши проект в VS.
  2. Добавить -> Существующий элемент ...
  3. Найдите файл.
  4. ] Выберите его и.
  5. Добавьте в качестве ссылки (раскрывающееся на кнопке «Добавить» в диалоговом окне).
  6. Откройте свойства файла и установите для параметра «Копировать в выходной каталог» значение «Копировать всегда ».

НО Вы не можете сделать это для дерева каталогов.
Вместо этого вам нужно написать для этого задачу после сборки. Это образец , который заставит вас взглянуть.

45
ответ дан 24 November 2019 в 12:08
поделиться

Следующее, которое вы должны добавить в конец файла проекта, скопирует ваши файлы содержимого, сохраняя структуру каталогов в событии после сборки, в целевой каталог $ (TargetDirectory) вашей сборки (обычно $ (MSBuildProjectDirectory) \ bin \ Debug ).

<ItemGroup>
    <ExtraContent Include="$(MSBuildProjectDirectory)\..\..\MyContentFiles\**" />
</ItemGroup>

<Target Name="AfterBuild">
    <Copy 
        SourceFiles="@(ExtraContent)" 
        DestinationFiles="@(ExtraContent->'$(TargetDir)\%(RecursiveDir)%(Filename)%(Extension)')" 
        SkipUnchangedFiles="true" />
</Target>

Если эти файлы необходимо поместить в каталог с именем MyContentFiles, вы можете добавить это перед копией:

<MakeDir Directories="$(TargetDir)\MyContentFiles" Condition=" !Exists('$(TargetDir\MyContentFiles') " />

и изменить

<Copy 
            SourceFiles="@(ExtraContent)" 
            DestinationFiles="@(ExtraContent->'$(TargetDir)\%(RecursiveDir)%(Filename)%(Extension)')" 
            SkipUnchangedFiles="true" />

на

<Copy 
            SourceFiles="@(ExtraContent)" 
            DestinationFiles="@(ExtraContent->'$(TargetDir)\MyContentFiles\%(RecursiveDir)%(Filename)%(Extension)')" 
            SkipUnchangedFiles="true" />
10
ответ дан 24 November 2019 в 12:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: