У меня есть проект Visual Studio 2008 C#/.NET 3.5 с задачей сборки сообщения к ZIP содержание. Однако я нахожу, что также получаю .pdb ссылаемых блоков (отладка) и .xml (документация) файлы в моем выходном каталоге (и ZIP).
Например, если ссылки MyProject.csproj, YourAssembly.dll и существует YourAssembly.xml и файлы YourAssembly.pdb в том же каталоге как DLL, который они разоблачат в моем выходном каталоге (и ZIP).
Я могу исключить *.pdb, когда ZIP'ing, но я не могу покрыть, исключают *.xml файлы, поскольку у меня есть файлы развертывания с тем же расширением.
Существует ли способ препятствовать проекту копировать блок, на который ссылаются, PDB и XML-файлы?
]Вы можете добавить команду события Post Build аналогичную []del "$(TargetDir)YourAssembly*.xml", "$(TargetDir)YourAssembly*.pdb"[
][
Я хотел иметь возможность добавлять и удалять ссылочные сборки в моем основном приложении, избегая при этом необходимости сохранять, какие файлы мне нужно было удалить или исключить.
Я просмотрел 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>