Предотвращение копирования файлов PDB и XML сборки, на которые ссылаются, в выходные данные



У меня есть проект Visual Studio 2008 C#/.NET 3.5 с задачей post build для ZIP содержимого. Однако я нахожу, что я также получаю ссылки на сборки".pdb (debug) and .xml (документация) файлы в моем выходном каталоге (и ZIP).



например, если MyProject.csproj ссылается на вашу сборку.dll и есть ваша сборка.xml и YourAssembly.pdb-файлы в том же каталоге, что и DLL, они будут отображаться в моем выходном каталоге (и ZIP).



Я могу исключать.* pdb при ZIP'ING, но я не могу одеяло исключить *.xml-файлы, так как у меня есть файлы развертывания с тем же расширением.



есть ли способ предотвратить копирование проекта ссылочной сборки PDB и XML-файлов?

716   6  

6 ответов:

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

я перерыла Microsoft.Common.targets ищет что-то, что будет работать и нашел AllowedReferenceRelatedFileExtensions собственность. По умолчанию это .pdb; .xml поэтому я явно определил его в моем файле проекта. Загвоздка в том, что вам нужно что-то (пробелов недостаточно) в противном случае он все равно будет использовать по умолчанию.

<Project ...>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    ...
    <AllowedReferenceRelatedFileExtensions>
      <!-- Prevent default XML and PDB files copied to output in RELEASE. 
           Only *.allowedextension files will be included, which doesn't exist in my case.
       -->
      .allowedextension
    </AllowedReferenceRelatedFileExtensions> 
  </PropertyGroup>

вы также можете указать это с помощью командной строки:

MsBuild.exe build.file /p:AllowedReferenceRelatedFileExtensions=none

можно добавить после построения командной событие, подобное del "$(TargetDir)YourAssembly*.xml", "$(TargetDir)YourAssembly*.pdb"

Это довольно старый вопрос, но поскольку нет ответа о том, как отключить генерацию PDB и XML-файлов через пользовательский интерфейс, я решил, что он должен быть здесь для полноты.

в Visual Studio 2013: в свойствах проекта на вкладке компиляция снимите флажок "создать файл документации XML", затем нажмите" Дополнительные параметры компиляции "ниже этого и измените" создать отладочную информацию "на" нет", и это сделает трюк.

зачем создавать .pdb и .xml файлы вообще, если они вам не понадобятся? Вы можете просто отключить отладочные символы и генерацию файлов документации в вашем проекте свойствапостроить ( → дополнительно...). (Вероятно, только для Release построить.)

Если вы хотите только исключить XML-файлы (например, отладочный релиз), вы можете сделать что-то вроде этого:

<AllowedReferenceRelatedFileExtensions>
  <!-- Prevent default XML from debug release  -->
      *.xml
 </AllowedReferenceRelatedFileExtensions>

в принципе, каждое расширение (разделенное точкой с запятой) в списке будет исключено.

Comments

    Ничего не найдено.