Подтвердить что ты не робот

Почему свойство Copy Local для моей ссылки отключено?

Я пытаюсь установить ссылочную DLL, чтобы быть явно скопированной в мою локальную папку, однако, когда я перехожу к свойствам этой ссылки, свойство Copy Local имеет серый цвет/отключен.

Disabled Copy Local property

Обычно мои проекты VB.NET имеют элемент My Project непосредственно под именем проекта, который я могу дважды щелкнуть → ссылки и установить свойство Copy Local, однако мое консольное приложение на С# похоже не имеет этого.

My Project References

Возможно, я неправильно настроил свой проект? Любая помощь по этому поводу будет очень благодарна.

4b9b3361

Ответ 1

Непосредственно из этого сообщения SO:

Ваш комментарий к ответу Hans указывает, что это сборка COM и что вы используете Visual Studio 2010.

Это означает, что ссылка на сборку, вероятно, была добавлена ​​с помощью "Вставить Interop Types" установлено значение true. Это приводит к связыванию COM в вашем двоичном файле, устраняя необходимость его развертывания в целом. Следующая ссылка содержит более подробное объяснение • http://msdn.microsoft.com/en-us/library/dd409610.aspx Если вы это сделаете хотите развернуть его, но тогда вам нужно будет сделать следующее: • Нажмите ссылка на вкладке ссылок • Нажмите F4, чтобы открыть сетка свойств • Установите для параметра "Вставить типы взаимодействия" в значение "Ложно" (это не будет Копировать локальный) • Установите для параметра "Копировать местное" значение true

Если вы хотите скопировать локальный, вы должны установить Embed Interop Types в False для сборки, в вашем случае, Microsoft.Office.Interop.Excel. Встраивание типов Interop упрощает развертывание сборок COM в том, что оно встраивает сборки в вашу сборку, устраняя необходимость развертывания сборок с помощью приложения.