Не удалось разрешить первичную ссылку XXX, поскольку она имеет косвенную зависимость от сборки framework

#exception-handling #reference #xna-4.0 #xbox360 #.net-framework-version

#исключение #ссылка #xna-4.0 #xbox360 #.net-framework-version

Вопрос:

Я создал простую библиотеку классов XNA Windows с XNA 4.0 под названием «NivekGameEngine». Я создал простую игру для платформы Windows, и я могу получить доступ ко всему содержимому моей библиотеки dll просто отлично.

Проблема возникает, когда я пытаюсь создать копию этого проекта для Xbox 360. Я получаю это как ошибку:

 The primary reference "NivekGameEngine01" could not be resolved because it has an
indirect dependency on the framework assembly "mscorlib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" which could not be resolved in the
currently targeted framework. ".NETFramework,Version=v4.0,Profile=Client". To resolve
this problem, either remove the reference "NivekGameEngine01" or retarget your 
application to a framework version which contains "mscorlib, Version=4.0.0.0, 
Culture=neutral, PublicKeyToken=b77a5c561934e089".
  

Я возвращаюсь к своему проекту, который создал мой DLL-файл, и для цели установлено значение «Клиент 4.0»

Есть ли способ исправить это? При необходимости я загружу код.

Ответ №1:

Я полагаю, проблема в том, что вам нужно либо настроить таргетинг на .Net Compact Framework, либо на Silverlight (не уверен на 100%, какой именно) для разработки XBox 360. Полная .Похоже, что Net Framework, включая версию профиля клиента, не поддерживается.

Поэтому вам нужно будет либо перестроить вашу DLL для одной из этих сред, либо, если она используется в других приложениях, создать второй проект для соответствующей платформы и добавить ссылки на файлы в исходном проекте. Возможно, вам потребуется добавить инструкции условной компиляции в исходный код, если вы используете функции или перегрузки методов, которые не поддерживаются платформой.

Все это вполне выполнимо: у нас есть один набор исходного кода, который обслуживает полный фреймворк, Compact Framework, Silverlight и Mono.

Комментарии:

1. Итак, я чувствую себя плохо из-за этого, но когда я впервые прочитал этот ответ, я не понял, что вы имели в виду. Теперь, когда я действительно знаю, что такое Compact Framework, я знаю, что это правильный ответ. Я виноват, что так долго ждал, чтобы осознать это.