应该是dll的编译问题,检查是不是最新版本,检查选项是否正确
另:
楼主做的dll貌似用tts把txt转换为wav的,好像没有必要这么费劲一定用c++做的dll吧,c#也很简单啊

解决方案 »

  1.   

    谢谢~。不过检查很多次了。同样的代码,为什么放在SaveDialog里面会对代码有影响呢?
      

  2.   

    Debug Assertion Failed! 错误提示都说明了啊,函数里面肯定判断了输入参数的正确性,肯定是你输入的参数不正常,C++里面直接Assert了
      

  3.   

    如果c++中该字符串是宽字符组,就用这个
    private static extern void Txt2Wav(String content, [MarshalAs(UnmanagedType.LPWStr)] String sFileNameWave)如果不是就这个
    private static extern void Txt2Wav(String content, [MarshalAs(UnmanagedType.LPStr)] String sFileNameWave)