У меня была эта проблема с использованием метода расширения для перечислений в решениях, на которые ссылаются друг друга, как показано ниже. Intellisense работал для метода расширения в проекте ApplicationUI и даже работал без ошибок компиляции или времени выполнения. Но метод просто не работал. Кроме того, немедленное окно заверило меня, что BusinessObjectLib.MyEnum не содержит метод с именем моего метода расширения, и метод расширения не может быть найден.
GenericLib - project where extension method on generic enums is defined
BusinessObjectLib - project where enums were defined, references GenericLib
ApplicationUI - project referencing both GenericLib and BusinessObjectLib
Несмотря на то, что обозреватель решений выглядел нормально, просматривая все проекты из ApplicationUI, когда я открыл проект BusinessObjectLib, я увидел, что его ссылка на GenericLib почему-то не работает. (Как и весь наш код, VS, вероятно, также имеет ошибки?). Сначала я работал в проекте BusinessObjectLib, открытом непосредственно в VS, удаляя ссылку, затем удаляя проект, затем восстанавливая оба в обратном порядке. Затем я переименовал файл ApplicationUI.sou и заставил его восстановить. Я смог решить эту проблему с помощью этих действий, но, похоже, только переименование файла .sou помогло. Непосредственное окно все еще продолжает выдавать мне ту же ошибку, но по крайней мере код времени выполнения снова работает. Я использую этот точный шаблон в нескольких других проектах, и у меня нет таких проблем.