У меня есть программа C# WinForms, а также я создал библиотеку C#. Я добавил в основной проект ссылку на проект библиотеки. Если упростить, код выглядит следующим образом:
Библиотека:
Код: Выделить всё
namespace nsDiscovery
{
public class Foo1 { }
public class ClassDiscovery
{
public class Foo2 { }
...
Программа:
Код: Выделить всё
using nsDiscovery;
namespace nsMDNS
{
public partial class Form_MDNS : Form
{
private void TstFooA( Foo1[] f1_, ClassDiscovery.Foo2[] f2_ ){}
private void TstFooB()
{
Foo1[] f1 = new Foo1[ 0 ];
ClassDiscovery.Foo2[] f2 = new ClassDiscovery.Foo2[ 0 ];
}
...
Функция TstFooB() не имеет проблем, но функция TstFooA() вызывает во время компиляции две ошибки:
- Не удалось найти тип или имя пространства имен «Foo1».
Имя типа «Foo2» не существует в типе «nsDiscovery.ClassDiscovery».
Еще более неприятно то, что я также создал отдельное фиктивное решение, просто чтобы поэкспериментировать со всем вышеперечисленным, и вот оно работает. Итак, в реальных проектах я, должно быть, сделал что-то не так, но не могу понять, что именно. Это правда, что реальный проект и настоящая библиотека на самом деле намного сложнее.
Подробнее здесь:
https://stackoverflow.com/questions/496 ... -not-exist