Сборка С# — ярлыки

У меня есть проект С# с несколькими папками: Folder1, Folder2.

Я добавил ярлык в «Папку 1» к XML-файлу, который уже находится в «Папке 2». В этом случае, когда я скомпилирую проект, xml-файл будет иметь две копии в сборке?


person Cornel    schedule 21.01.2010    source источник


Ответы (2)


Вы не были ясны в своем описании. Вы ссылались на файл с помощью ярлыка или добавляли его в папку 1 с помощью обозревателя решений VS и добавляли существующий элемент в качестве ссылки?

Эти два метода совершенно разные. Если вы просто зашли в файловую систему и добавили ярлык, то он автоматически не станет частью проекта, если только вы не добавите его специально. И если вы добавили его, то он, очевидно, не может быть скомпилирован, лучшее, что вы можете сделать, это просто установить для него значение «Без компиляции» и скопировать в выходной каталог.

Если вы добавили файл в папку один через обозреватель решений VS и добавили его как ссылку, то он будет частью проекта и будет включен дважды, но будет помещен в папку 1 в папке bin/debug или bin/ папка выпуска при сборке. Конфликтов не будет, потому что они находятся в разных папках, и они не компилируются, а просто копируются в структуру папок в выходной каталог.

Изменить: и он не будет частью сборки, если вы не установите его как ресурс или встроенный ресурс. Если вы это сделаете, то да, это будет в сборке, но под двумя разными путями ресурсов.

person slugster    schedule 21.01.2010

В свойствах (контекстное меню) выбранного файла в обозревателе решений измените свойство Build Action на No Compile.

person Yevhen    schedule 21.01.2010