winform做了一个小项目, 其中要用到数据库连接, 字符串,

   private string ConnStringSource =   System.Configuration.ConfigurationManager.ConnectionStrings["ConnStringSource"].ConnectionString;

 就直接用的app.config配置文件

开发完成后, 也没有打包, 直接用debug下的文件发给用户了, 用户试用后, 觉得名字是英文的不方便, 想改下中文名

, 这个图是项目本来的名字;

,这个图是用户修改后的名字;

改完名字之后, 就一直包下图的经典错误:

解决办法是:

将配置文件也对应的改名, 比如你将 PrintBindRFID.exe 修改为 RFID打印.exe , 那么配置文件也得改成 RFID打印.exe.config;

问题到这里就解决了, 那么为什么是这样的呢?

看看System.Configuration.ConfigurationManager.ConnectionStrings 类的源码就知道了;

public static ConnectionStringSettingsCollection ConnectionStrings
{
get
{
object obj2 = GetSection("connectionStrings");
if ((obj2 == null) || (obj2.GetType() != typeof(ConnectionStringsSection)))
{
throw new ConfigurationErrorsException(SR.GetString("Config_connectionstrings_declaration_invalid"));
}
ConnectionStringsSection section = (ConnectionStringsSection) obj2;
return section.ConnectionStrings; //配置字符串从这个方法来
}
} //-----------------------------------------------------------------------------------------
public static object GetSection(string sectionName)
{
if (string.IsNullOrEmpty(sectionName))
{
return null;
}
PrepareConfigSystem();
return s_configSystem.GetSection(sectionName);//从这里来
} private static void EnsureConfigurationSystem()
{
object obj2 = s_initLock;
lock (obj2)
{
if (s_initState < 2)
{
s_initState = 1;
try
{
try
{
//s_configSystem使用这个进行实例化的, 转到它的构造函数
s_configSystem = new ClientConfigurationSystem();
s_initState = 2;
}
catch (Exception exception)
{
s_initError = new ConfigurationErrorsException(SR.GetString("Config_client_config_init_error"), exception);
throw s_initError;
}
}
catch
{
s_initState = 3;
throw;
}
}
}
}
//----------------------------------------------------------------------------------------- internal ClientConfigurationSystem()
{
this._configSystem = new ConfigSystem();
//ClientConfigurationHost看下这个类里面
this._configSystem.Init(typeof(ClientConfigurationHost), new object[2]);
this._configHost = (ClientConfigurationHost) this._configSystem.Host;
this._configRoot = this._configSystem.Root;
this._configRoot.ConfigRemoved += new InternalConfigEventHandler(this.OnConfigRemoved);
this._isAppConfigHttp = this._configHost.IsAppConfigHttp;
string schemeDelimiter = Uri.SchemeDelimiter;
}
//-----------------------------------------------------------------------------------------
internal sealed class ClientConfigurationHost : DelegatingConfigHost, IInternalConfigClientHost
{
// Fields
private ClientConfigPaths _configPaths;
private string _exePath;
private ExeConfigurationFileMap _fileMap;
private bool _initComplete;
private const string ConfigExtension = ".config";
internal const string ExeConfigName = "EXE"; //看到这里就不用再看下去了
internal const string ExeConfigPath = "MACHINE/EXE";

  

20190705_关于winform程序修改程序名后, 报未将对象引用设置到对象的实例的更多相关文章

  1. Dynamics CRM 安装CRM程序系统检查界面报未将对象引用设置到对象的实例的解决方法

    今天在安装CRM的时候,在系统检查阶段遇到了如下的错误,咋看之下直接是懵逼的 但不要着急,界面上有两个按钮,一个是详细信息,一个是帮助,详细信息不用看了就那一行字也看不出什么,咱们点下帮助看看,定位到 ...

  2. C#一般处理程序设置和读取session(session报错“未将对象引用设置到对象的实例”解决)

    登陆模块时,用到了session和cookie.在一般处理程序中处理session,一直报错.最后找到问题原因是需要调用 irequiressessionstate接口. 在ashx文件中,设置ses ...

  3. 黄聪:VS2010编辑C#未启动,打开设计视图时报"未将对象引用设置到对象的实例"

    通常情况下,若是你将用户控件写好了放入窗体中,若是有不合理的代码,则会弹出错误提示框,不让你放.若是你之前只是随便加了一个用户控件,并且没有什么问题,但后来你又把控件改坏掉了,那么你打开就会报错(在窗 ...

  4. C#中打开设计视图时报"未将对象引用设置到对象的实例"

    通常情况下,若是你将用户控件写好了放入窗体中,若是有不合理的代码,则会弹出错误提示框,不让你放.若是你之前只是随便加了一个用户控件,并且没有什么问题,但后来你又把控件改坏掉了,那么你打开就会报错(在窗 ...

  5. IIS报错 未将对象引用设置到对象的实例。

    在vs中运行正常的项目 ,发布到IIS总是提示 未将对象引用设置到对象的实例. 运行静态页面 html正常,只是打开.aspx页面的时候报错,在确保了数据库,配置,权限均正常的情况下. 错误原因:先安 ...

  6. AutoMapper.Mapper.CreateMap报“System.NullReferenceException: 未将对象引用设置到对象的实例。”异常复现

    >>Agenda: >>Ⅰ.国庆假期问题出现 >>Ⅱ.双休日异常再次出现 >>Ⅲ.排障 >>Ⅳ.异常复盘 >>Ⅴ.修复后监测 & ...

  7. SQL Sever无法打开链接对话框,未将对象引用设置到对象的实例。(AppIDPackage)

    前几天刚做完系统,先装的是SQL Sever2008,装完后还试了一下,OK~没问题,然后就继续装VS2012等一些软件.搞到很晚没有继续试试就睡了,第二天运行SSMS出问题了..(如图 1.0 所示 ...

  8. WPF前台界面显示“未将对象引用设置到对象的实例”

    在做即时通信项目中,使用WPF的MVVM模式,如果在前台绑定VM,经常会显示波浪线,鼠标放上去提示未将对象引用设置到对象的实例,但程序能正常运行,后来发现如果前台不绑定VM,在后台cs里绑定就不会出现 ...

  9. 服务器无法处理请求。 ---> 未将对象引用设置到对象的实例

    服务器无法处理请求. ---> 未将对象引用设置到对象的实例. 简短说下我遇到的问题.webservice部署到服务器上后,访问方法报上面的错误,最终原因为改方法需要操作文件夹,加上了相应的权限 ...

随机推荐

  1. Miller-Rabin 素数检验算法

    算法简介 Miller-Rabin算法,这是一个很高效的判断质数的方法,可以在用\(O(logn)\) 的复杂度快速判断一个数是否是质数.它运用了费马小定理和二次探测定理这两个筛质数效率极高的方法. ...

  2. Nginx是什么?有什么用?

    一.Nginx是什么 Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服 ...

  3. Maven魔法堂:安装Oracle JDBC Driver依赖的那些坑

    前言 由于Oracle并没有向公开Maven仓库提供任何Oracle JDBC Driver的Jar包,因此我们无法像MySQL.SQLite等那么轻松直接通过Maven加载依赖. 而手动下载Orac ...

  4. 简单操作elasticsearch(es版本7.6)

    简单操作elasticsearch(es版本7.6) es 官方文档 https://www.elastic.co/guide/index.html 简单操作elasticsearch主要是指管理索引 ...

  5. python开发基础(二)常用数据类型调用方法

    1 数字: int 2 3 int : 转换,将字符串转化成数字 4 num1 = '123' 5 num2 = int (a) 6 numadd = num2 +1000 7 print(num2) ...

  6. 基于synchronized锁的深度解析

    1. 问题引入 小伙伴们都接触过线程,也都会使用线程,今天我们要讲的是线程安全相关的内容,在这之前我们先来看一个简单的代码案例. 代码案例: /** * @url: i-code.online * @ ...

  7. excel导出csv包括逗号等的处理

    /** * @Title: trimRubbishChar * @Description: 导出的时候需要对一格的内容进行检查,看是否有非法字符,以免串行 * @Since: 2016年8月2日 下午 ...

  8. 实现一个简易vue

    vue主要的功能实现主要分为3部分: 数据劫持/数据代理:数据改变时通知相关函数进行更新操作 数据依赖收集:建立保存dom节点与数据的关联关系 模板与数据之间的绑定:接受到新数据时对dom节点进行更新 ...

  9. Linux踩坑之云服务器 ssh 连接不上

    前奏:今天没事处理一下之前远程不了Linux桌面的问题时,找到一个解决方法(开始入坑):                     systemctl set-default graphical.tar ...

  10. charles技能之修改请求参数/返回数据(map Local、Rewrite、Breakpoints)

    之前一直用postman调接口比较多,但有时候想要去修改APP的页面展示,造数据又会比较麻烦,此时可以用以下三种方法修改请求参数或修改响应: map Local(本地映射).Breakpoints(打 ...