Что это означает, что DLL помечена как "неправильно указано как файл" в моем проекте C#?

Я получаю это предупреждение в проекте C#:

Assembly 'bin\DAL05.dll' is incorrectly specified as a file.

Проект ссылается на DAL05, который имеет следующие значения:

Description = "Data Access Layer for VS2005"
Version = v2.0.50727

Кроме того, папка bin проекта содержит файл DAL05.dll со следующими значениями:

BuildAction = "Content"
Copy to Output Directory = "Do not copy"
Full Path = "C:\Projects\PRP\PlatypusReportingPackage\bin\DAL05.dll"

Что означает, что эта DLL считается "неправильно заданной в виде файла"? Поскольку это "просто" предупреждение, могу ли я блаженно его игнорировать или это потенциальный мелководный риф?

1 ответ

Решение

Вы не должны видеть папку bin в обозревателе решений, то есть папка bin не должна быть папкой в ​​вашем проекте.

Папка bin поддерживается Visual Studio, и ссылки на сборки и ссылки на выходные сборки проекта копируются туда.

Вместо того чтобы иметь папку bin и файлы dll, добавленные в эту папку bin, вы должны добавить ссылку на эту сборку. Папка bin будет автоматически создана, и ссылочные сборки будут автоматически скопированы в папку bin, или, если какая-либо из ссылочных сборок находится в GAC (глобальный кэш сборок), они будут загружены оттуда.

  1. Добавьте ссылки на сборки, которые у вас есть в папке bin

    1.a. Если вам нужно, просто создайте "extlib" или "зависимости" или аналогичную папку в вашем проекте и скопируйте туда файлы dll и ссылайтесь на сборки из этой папки.

  2. Удалить папку bin из проекта
  3. компилировать
Другие вопросы по тегам