2015-11-17 2 views
1

Я переместил двоичные файлы в проект под папкой bin, чтобы не публиковать одни и те же двоичные файлы дважды, поскольку один из двоичных файлов огромен; т. е. 15 МБ.Как я могу избежать публикации папки библиотеки в веб-публикации?

Первоначально это было сделано в отдельном Включает папку. Поэтому файлы копируются дважды в папку публикации.

Является ли папка bin правильным местом для этих или есть другие шаги, которые я должен предпринять?

Редактировать: Извините, если я дал плохое объяснение (и оригинальное название). Я изменил название; это было «Где должны храниться статические библиотеки (сторонние DLL-файлы) в Visual Studio?» и теперь «Как я могу избежать публикации папки библиотеки в веб-публикации?»

Как уже упоминалось, у меня первоначально была отдельная папка с именем Включает. Когда я публиковал веб-публикацию, каждая из DLL публикуется дважды; один в папку bin, другой в Включает папку. В этом случае я публикую хотя бы лишнее 15 МБ ненужного файлового пространства. Обычно, не очень важно, но если я нахожусь в очень медленном соединении, мне нужно подождать дольше, чтобы развернуть проект в своей среде.

Я переместил DLL обратно в отдельную папку, но папка все еще опубликована вместе с папкой вывода bin. Я сделал это, чтобы определить, будет ли размещение этих файлов по-разному задавать свои свойства.

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

Нет ли возможности публиковать библиотеки DLL дважды?

+0

В папке, отдельной для папки публикации .. кроме этого, это предпочтение. Из-за предпочтительного аспекта вашего вопроса ваш вопрос скорее всего будет закрыт как «основанное на мнениях». – cybermonkey

+0

См. Редактирование обновлений. Извинения за плохое объяснение. – Ruge

ответ

2

Если эти файлы являются частью общего источника системы (не обязательно как исходный код, но, тем не менее, как артефакты, отслеживаемые с помощью источника), то вы, вероятно, не должны хотите сохранить их в выходной папке для сборки. Выходная папка должна быть временной и не должна отслеживаться в источнике.

Храните сторонние библиотеки в папке библиотеки. Структура папок в контроле источника может выглядеть примерно так:

/ 
--/lib 
--/Project1 
----/SomeSubFolder 
--/Project2 
----/Images 
----/Styles 

и так далее.

У каждого Project будет своя папка bin, когда она скомпилируется, что само по себе может содержать другие папки для типов компиляции (Release, Debug и т. Д.). Но вы не хотите, чтобы эти артефакты сборки отслеживались в контроле источника или каким-либо образом мешали тому, что находится в контроле источника.

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

+0

См. Править. Я пытаюсь избежать публикации файлов библиотеки дважды. Спасибо. – Ruge

+0

@Ruge: файлы не публикуются дважды. Они существуют в исходном контроле как артефакты, используемые кодом, и они существуют в выводе сборки как артефакты, используемые текущим процессом. Они служат отдельным целям и не должны смешиваться. (Попытка их смешать или, в основном, пересечь границу между источником и зданием, просто требует проблем.) Если дисковое пространство настолько ограничено, что 15 МБ является проблемой, то вы очень близки к гораздо большим проблемам, чем это. – David

Смежные вопросы