2011-01-06 3 views
3

в Visual Studio У меня есть решение с несколькими проектами. В одном проекте я добавил ссылку на другой проект. Все в порядке. Я могу видеть пространств имен/классы другого проекта автозаполнения и т.д.FileNotFoundException при использовании метода dll

Когда я пытаюсь сделать

OtherProjectNamespace.Class a = new OtherProjectNamespace.Class(); 

Я получаю это:

Could not load file or assembly '**OtherProjectNamespace**, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. 

Там нет строки, ничего, я попробовал попробовать ... поймать новую линию и даже не поймать исключение.

В чем может быть причина?

Спасибо, Carlos

+0

Добавили ли вы ссылку на другой проект? – Oded

+0

Да, и я пытаюсь создать экземпляр в другом потоке ... на всякий случай. – carlosdubusm

+0

Как вы добавили ссылку, это копия файла или выход решения. Похоже, что у вас есть только копия, и файл был удален, попробуйте подтвердить правильность ссылки. –

ответ

2

Некоторые возможные направления:

  1. ли класс, который вы пытаетесь создать имеют какую-либо зависимость от класса в другой сборке? Если да, попробуйте добавить ссылку на третью сборку.

  2. Была ли сборка скопирована в текущую директорию вашего приложения? Убедитесь, что для свойства Copy Local эталонного значения установлено значение true.

  3. Если вы все еще не решили проблему, используйте такие инструменты, как просмотр журнала Fusion (поставляется с Visual Studio, запустите fuslogvw.exe из командной строки VS), чтобы получить точное имя файла, который отсутствует, и местоположения, из которых CLR пыталась загрузить его. Возможно, таким образом вы найдете другой файл, который вам нужно скопировать.

+0

Он работает, спасибо! –

0

Попробуйте это:

В ссылках проекта, измените свойство "Specific Version" ложь. Щелкните правой кнопкой мыши по проекту и выберите «Очистить». Затем перестройте проект.

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