Предотвращение копирования файлов 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, но я не могу одеяло исключить *.xml-файлы, поскольку у меня есть файлы развертывания с тем же расширением.
есть ли способ предотвратить копирование проекта ссылочной сборки PDB и XML-файлов?
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
вы можете добавить команду события Post Build, аналогичную del "$(TargetDir)YourAssembly*.xml", "$(TargetDir)YourAssembly*.pdb"
Это довольно старый вопрос, но поскольку нет ответа о том, как отключить генерацию PDB и XML-файлов через UI, я решил, что он должен быть здесь для полноты.
в Visual Studio 2013: в свойствах проекта на вкладке компиляция снимите флажок "создать файл документации XML", затем нажмите" Дополнительные параметры компиляции "ниже и измените" создать отладочную информацию "на" нет", и это сделает трюк.
зачем создавать .pdb
и .xml
файлы вообще, если они вам не понадобятся? Вы можете просто отключить символы отладки и генерацию файлов документации всвойства → построить (→ дополнительно...). (Вероятно, только для Release
построить.)
Если вы хотите исключить только XML-файлы (например, отладочный выпуск) , вы можете сделать что-то вроде этого:
<AllowedReferenceRelatedFileExtensions>
<!-- Prevent default XML from debug release -->
*.xml
</AllowedReferenceRelatedFileExtensions>
в принципе, каждое расширение (разделенное точкой с запятой) будет исключено.