Ссылка на Visual Studio не копируется в среде с несколькими проектами - PullRequest
6 голосов
/ 27 октября 2010

У меня есть файл решения в VS 2010, и в нем есть несколько проектов.

Теперь у меня есть ссылка на этот вызов DLL MySql.Data.Entity.dll.

В качестве примера у меня есть следующие настройки проекта в решении:

  • Домен (ссылка на MySql.Data.Entity.dll)
  • Domain.Test(ссылка на проект «Домен»)

Я хочу, чтобы Domain.Test скопировал все ссылки из Домена, поэтому я установил Свойство для этой dll на «Копировать локально - True».Он не был скопирован в проект Domain.Test.

Ранее я сталкивался с этой проблемой с помощью over dll.Я сделал следующее:

namespace Domain.Helpers
   {
        /// <summary>
        /// To trick VS to deploy required assemblies
        /// </summary>
        class BuildTricker
        {
            public void AssemblyTricker()
            {
                new LinFu.DynamicProxy.CallAdapter(null);
                new NHibernate.ByteCode.LinFu.ProxyFactory();
            }
        }
    }

И работал нормально.Если я "использую" класс, он будет знать, скопировать его в "Domain.Test".

Проблема в том, что я ничего не могу инициализировать / «использовать» из этого MySql.Data.Entity.dll.

Примечание. Простое добавление пространства имен в операторе Using не будетсделайте свое дело, вы ДОЛЖНЫ «использовать» класс в dll для его копирования.

В настоящее время я вручную ссылаюсь на этот dll во все проекты, для которых он требуется.

Итакмой вопрос.Что-то не так с моей конфигурацией?Или это ограничение VS?

Спасибо,

Чи

1 Ответ

1 голос
/ 03 ноября 2010

Это особенность COMReferences, они не ресурсы, поэтому они не копируются.

Если для ссылки на свойство Isolated MySql.Data.Entity.dll задано значение True, файлкопируется из исходного местоположения в папку bin вашего проекта "Domain" и, наконец, в папку bin вашего проекта "Domain.Test".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...