현재 Silverlight로 주로 제작 된 WP7 용 게임을 만들고 있습니다. 하지만 이제는 XNA를 사용할 수있는 페이지가 필요합니다. XNA 페이지는 전투 데이터를 수신 한 다음 사용자를 위해 시각화합니다.Silverlight WP7 프로젝트에 XNA 추가
내 솔루션에서 "Windows Phone Silverlight 및 XNA"프로젝트 (BattleSimulator)를 만들고 GamePage.xaml을 탐색 해 보았습니다. 하지만 NullReferenceException (응용 프로그램으로 Application.Current) 및 경고가 나타납니다. 경고는 BattleSimulator 프로젝트에 있습니다. 이 ㄴ 것입니다 해결
경고
Warning 1 The project 'BattleSimulatorLib' cannot be referenced. The referenced project is targeted to a different framework family (.NETFramework)
코드
public GamePage()
{
InitializeComponent();
// Get the content manager from the application
contentManager = (Application.Current as App).Content; //NullReference here
스택 트레이스
at BattleSimulator.GamePage..ctor()
at System.Reflection.RuntimeConstructorInfo.InternalInvoke(RuntimeConstructorInfo rtci, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark& stackMark)
at System.Reflection.RuntimeConstructorInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, StackCrawlMark& stackMark)
at System.Activator.InternalCreateInstance(Type type, Boolean nonPublic, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type)
at System.Windows.Navigation.PageResourceContentLoader.BeginLoad_OnUIThread(AsyncCallback userCallback, PageResourceContentLoaderAsyncResult result)
at System.Windows.Navigation.PageResourceContentLoader.<>c__DisplayClass4.<BeginLoad>b__0(Object args)
at System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi, Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark& stackMark)
at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, StackCrawlMark& stackMark)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at System.Delegate.DynamicInvokeOne(Object[] args)
at System.MulticastDelegate.DynamicInvokeImpl(Object[] args)
at System.Delegate.DynamicInvoke(Object[] args)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.Dispatch(DispatcherPriority priority)
at System.Windows.Threading.Dispatcher.OnInvoke(Object context)
at System.Windows.Hosting.CallbackCookie.Invoke(Object[] args)
at System.Windows.Hosting.DelegateWrapper.InternalInvoke(Object[] args)
at System.Windows.RuntimeHost.ManagedHost.InvokeDelegate(IntPtr pHandle, Int32 nParamCount, ScriptParam[] pParams, ScriptParam& pResult)
한 가지 방법 e 모든 실버 라이트 클래스와 마크 업을 새로운 SL 및 XNA 프로젝트에 복사 할 수는 있지만 그게 전부라면 실패한 계획입니다.
누구든지이 NullReferenceException 또는 경고를 해결하는 방법을 알고 있습니까? 또는 다른 방법으로이 작업을 수행해야합니까?
편집 : 여기 경고에 찾을 정보 : http://forums.create.msdn.com/forums/p/93769/561676.aspx 그것은 무해하다.
답장을 보내 주셔서 감사합니다. 그것을 들여다보기 시작했으나 약간 번거롭고 불안정한 무언가로 끝날 위험이 있다고 생각합니다. 나는 내 마우스를 가져 와서 가져 오기 시작할 것이다. – softarn