У меня есть проект Visual Studio 2008 C # /. NET 3.5 с задачей пост-сборки, чтобы заархивировать содержимое. Однако я обнаружил, что также получаю файлы .pdb (отладка) и .xml (документация) сборок, на которые есть ссылки, в моем выходном каталоге (и ZIP).
Например, если MyProject.csproj ссылается на YourAssembly.dll и есть файлы YourAssembly.xml и YourAssembly.pdb в том же каталоге, что и DLL, они будут отображаться в моем выходном каталоге (и ZIP).
Я могу исключить * .pdb при архивировании, но я не могу полностью исключить файлы * .xml, поскольку у меня есть файлы развертывания с тем же расширением.
Есть ли способ запретить проекту копировать файлы PDB и XML сборки, на которые есть ссылки?
xml
visual-studio
build
pdb-files
Джейсон Морс
источник
источник
Я хотел иметь возможность добавлять и удалять ссылочные сборки в моем основном приложении, избегая при этом необходимости поддерживать файлы, которые мне нужно было удалить или исключить.
Я покопался в
Microsoft.Common.targets
поисках чего-нибудь, что могло бы работать, и нашелAllowedReferenceRelatedFileExtensions
недвижимость. По умолчанию это значение,.pdb; .xml
поэтому я явно определил его в своем файле проекта. Загвоздка в том , что вам нужно что - то (пробел не является достаточным) в противном случае он будет по- прежнему использовать по умолчанию.источник
Вы можете добавить команду события Post Build, аналогичную
del "$(TargetDir)YourAssembly*.xml", "$(TargetDir)YourAssembly*.pdb"
источник
Это довольно старый вопрос, но поскольку нет ответа о том, как отключить создание файлов PDB и XML через пользовательский интерфейс, я решил, что он должен быть здесь для полноты.
В Visual Studio 2013: в свойствах проекта на вкладке «Компиляция» снимите флажок «Создать файл документации XML», затем нажмите «Расширенные параметры компиляции» ниже и измените «Создать информацию отладки» на «Нет», и это поможет.
источник
pdb
иxml
файлы.Теперь мой ответ может быть тривиальным, но я хотел бы поделиться сценарием BAT, который я использую для удаления файлов xml, если для него есть соответствующая dll. Это полезно, если вы просто хотите очистить выходную папку и у вас есть другие XML-файлы, которые не нужно удалять.
Использование:
Мне потребовался час, чтобы закончить эту простую работу (благодаря материалу "отложенного расширения") со всеми типами поиска здесь и там. Надеюсь, это поможет другим новичкам BAT, таким как я.
источник
Мне не повезло с другими ответами, я, наконец, понял, как это сделать в моей реализации, используя встроенную команду «Удалить» , по-видимому, есть конкретный способ, которым вам нужно реализовать подстановочные знаки , он немного нюансирован , вот все, что вам нужно, чтобы поместить в ваш "CSPROJ" ( TargetDir - встроенная переменная, включается автоматически) в теге "Project":
У меня также были проблемы с созданием папок для различных языков, если у вас тоже есть эта проблема, вы также можете удалить неиспользуемые папки для конкретных языков. Я решил активировать это только при типе сборки "Release":
источник
Если вы хотите исключить только файлы XML (например, отладочную версию), вы можете сделать что-то вроде этого:
Как правило, каждое указанное расширение (разделенное точкой с запятой) будет исключено.
источник