(Контекст этого вопроса специфичен для XNA, но принцип является общим.)
У меня есть проект A
с классом Game
, который расширяет Microsoft.Xna.Framework.Game
. Проект A
является библиотекой классов и выводит DLL.
У меня есть проект B
, который расширяет класс A.Game
и имеет ссылку на A.dll
. Когда я пытаюсь скомпилировать B
, я получаю эту ошибку:
The type 'Microsoft.Xna.Framework.Game' is defined in an assembly that is not referenced. You must add a reference to assembly [...]
Я не понимаю, почему это так; B зависит только от A, который внутренне зависит от Xna. Это потому, что A.Game является подклассом? Есть ли способ удалить это требование зависимости?
То, к чему я стремлюсь, это сделать A
самопубликацией; он выводит только одну DLL, и любой проект ссылается на нее; все, что он использует внутри, не требуется конечным пользователям (разработчикам).
Я также проверил этот вопрос на транзитивных зависимостях , но я пока не выставляю поля в A.Game
- только подкласс.