как мне определить, какие ссылки необходимо «скопировать локально»?

 много похожих постов, но это не дубликат, я считаю. когда я добавляю ссылки в visual studio, некоторые dll копируются локально, а некоторые нет. 
 я понимаю, что внешние dll, которые я получаю из других источников, должны иметь локальную ссылку, но тогда я предполагаю, что те, которые я выбираю из длинного списка ссылок visual studio (.net и com), не нужно копировать локально. я не буду. 
 теперь я заметил, что при выборе shell32 из com dll копируется локально. по умолчанию для параметра «копировать локальный» установлено значение «истина». поэтому я предположил, что .net - это те, которым не нужно иметь локальную ссылку, а com должен иметь. но когда я ссылаюсь на объекты office interop (com), я вижу, что они не копируются локально. 

 как это, что некоторые копируются локально, а некоторые нет. (пытаясь узнать что-то хорошее) 
 также, как я должен идти о настройке «копировать локальное» свойство для ссылок вообще? рекомендуется просто следовать тому, что visual studio делает по умолчанию? 

 благодарю. 

 вероятность того, что vs ошибется по умолчанию, довольно мала. ваша машина разработки (как правило) ничем не отличается от машины вашего пользователя, важно то, что находится в вашем gac. у вас будет установлен .net точно так же, как и у пользователя, поэтому сборки фреймворка находятся в вашем gac, а также у пользователя, поэтому не копируйте их локально. любая сторонняя сборка .net копируется локально, включая вашу собственную. 
 единственный угловой случай - com pias, primary interop asssemblies. как правило, некоторые из них установлены на вашем компьютере разработчика, pias office и internet explorer довольно распространены. они не будут доступны на компьютере пользователя, если кто-то не позаботится об их установке. нечасто вам нужна pia, они требуются только тогда, когда ваша собственная сборка выставляет из них тип. просто переверните копировать локальный в true. в противном случае это быстро исчезающая проблема, проекты, созданные vs2010, поддерживают функцию embed interop types, также известную как «безобидная» штука. 
 и последнее, но не менее важное: вам всегда нужно проверять установщик. в том маловероятном случае, если вы что-то пропустили, этот тест быстро смоет это. 

 я использую его для управления тем, что публикуется в выходных данных сборки. если ссылка является чем-то, что должно быть развернуто в частном порядке, я устанавливаю для него значение true. в противном случае я установил значение false.