Предотвращение копирования файлов 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-файлов?
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