用C#写的WPF在XP系统目标机上运行时闪退。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C#写的WPF在XP系统目标机上运行时闪退。相关的知识,希望对你有一定的参考价值。

用C#写的WPF,编程平台是win7/VS2010,调试正常,在win7系统的目标机上运行正常。但是在XP系统目标机(试过三台)上运行闪退,安装运行环境后仍闪退,事件查看器报错信息如下:

检查一下是否某些 XAML 引用了 StaticResource,去掉这些引用再编译运行看看是否问题依旧。
P.S. 此举并非解决方案,只是为了定位问题。
参考技术A 可能是xp不太兼容.net 4.0以上的版本 改为.net 3.0 或者.net 3.5

Android Socket发送信息时闪退

尝试Android写Socket通信的时候,遇到的个坑,记录一下:

1、无法建立连接。

  原因:没有添加网络使用权限请求;

  解决方式:在"AndroidMainfest.xml"中添加<uses-permission android:name="android.permission.INTERNET"/>

 

2、建立连接后正常接收信息,但发送信息时直接闪退,LogCat中异常提示为:android.os.NetworkOnMainThreadException

  原因:百度了一圈,发现是在Android 7版本后才出现的,对主线程上的一个TCP Socket的写入操作严格检查,也就是不能在主线程中进行Socket写入发送。

  解决方式:新建线程发送。

3、新建发送信息的线程,仍然闪退

  原因:输出流也需要在新建的线程中new一个

成功发送的代码如下

 

new Thread(new Runnable(){
                    @Override
                    public void run() {
                        try {
                            //输出流写入发送编辑框的信息并指定类型UTF-8,注意要加换行
                            String str="TestString";

                            if(socket==null) return;
                            BufferedWriter outputStream=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
                            outputStream.write(str);
                            //输出流发送至服务器
                            outputStream.flush();

                        } catch (UnsupportedEncodingException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                    }
                }).start();

 

以上是关于用C#写的WPF在XP系统目标机上运行时闪退。的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin 开发中遇到的一些坑

golang生成的exe文件打开就闪退为啥 输出hello world也是

WPF程序在XP系统运行出错:system.windows.media.fontfamily类型初始值设定项引发异常

kettle执行转换时闪退,执行日志在哪里看?

Window下安装zookeeper,启动时闪退

c# 开发的winform软件 怎么样使其只能在xp系统下运行