消息关闭
    暂无新消息!
提示的异常:
 “System.IO.FileNotFoundException”类型的异常在 mscorlib.ni.dll 中发生,并且未在托管/本机边界之前进行处理
“System.UnauthorizedAccessException”类型的第一次机会异常在 System.Windows.ni.dll 中发生 

这个问题是我在c++那边用委托调用c#然后在里面只要出击文件的读取都会出现上面的异常提示而且程序会挂掉。
下面是我实现c++回调c#的过程
1新建一个类
namespace PhoneDirect3DXamlAppComponent
{
public delegate void MyCallEventDelegate(MyCallEvent event);

public ref class MyCall sealed     
{
void setMyCallEventDelegate(PhoneDirect3DXamlAppComponent::MyCallEventDelegate^ delegate);
         bool sendEvent(PhoneDirect3DXamlAppComponent::MyCallEvent event);
}
}

2.c#那边调用setMyCallEventDelegate  并创建一个用于回调的方法 
         m_MyCall.setMyCallEventDelegate(OnMyCall); //设置委托
public void OnMyCall(MyCallEvent theEvent)
 {
 //跳转到第二个页面去。
                    string recommandUri = UmengSDK.UmengAnalytics.GetOnlineParam(\\\"otherMoreGameAddress\\\");
                    NavigationService.Navigate(new Uri(\\\"/RecommandGame.xaml?msg=\\\" + recommandUri, UriKind.Relative));
}

3.用c++调用sendEvent,就出现上面的问题了。

7个回答

︿ 1
我也是这么认为的,但是要是我是用c#直接调用的话是完全没有问题的。然后我用c++调用c#来操作文件的时候才会出现这样的异常。
︿ 0
new Uri(\\\"/RecommandGame.xaml?msg=\\\" + recommandUri, UriKind.Relative)这么多\\,是不是有非法字符。转义一下试试
︿ 0
路径对吗?
你把直接调用换成间接调用以后,路径还是正确的吗?