20190705_关于winform程序修改程序名后, 报未将对象引用设置到对象的实例
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程序修改程序名后, 报未将对象引用设置到对象的实例的更多相关文章
- Dynamics CRM 安装CRM程序系统检查界面报未将对象引用设置到对象的实例的解决方法
今天在安装CRM的时候,在系统检查阶段遇到了如下的错误,咋看之下直接是懵逼的 但不要着急,界面上有两个按钮,一个是详细信息,一个是帮助,详细信息不用看了就那一行字也看不出什么,咱们点下帮助看看,定位到 ...
- C#一般处理程序设置和读取session(session报错“未将对象引用设置到对象的实例”解决)
登陆模块时,用到了session和cookie.在一般处理程序中处理session,一直报错.最后找到问题原因是需要调用 irequiressessionstate接口. 在ashx文件中,设置ses ...
- 黄聪:VS2010编辑C#未启动,打开设计视图时报"未将对象引用设置到对象的实例"
通常情况下,若是你将用户控件写好了放入窗体中,若是有不合理的代码,则会弹出错误提示框,不让你放.若是你之前只是随便加了一个用户控件,并且没有什么问题,但后来你又把控件改坏掉了,那么你打开就会报错(在窗 ...
- C#中打开设计视图时报"未将对象引用设置到对象的实例"
通常情况下,若是你将用户控件写好了放入窗体中,若是有不合理的代码,则会弹出错误提示框,不让你放.若是你之前只是随便加了一个用户控件,并且没有什么问题,但后来你又把控件改坏掉了,那么你打开就会报错(在窗 ...
- IIS报错 未将对象引用设置到对象的实例。
在vs中运行正常的项目 ,发布到IIS总是提示 未将对象引用设置到对象的实例. 运行静态页面 html正常,只是打开.aspx页面的时候报错,在确保了数据库,配置,权限均正常的情况下. 错误原因:先安 ...
- AutoMapper.Mapper.CreateMap报“System.NullReferenceException: 未将对象引用设置到对象的实例。”异常复现
>>Agenda: >>Ⅰ.国庆假期问题出现 >>Ⅱ.双休日异常再次出现 >>Ⅲ.排障 >>Ⅳ.异常复盘 >>Ⅴ.修复后监测 & ...
- SQL Sever无法打开链接对话框,未将对象引用设置到对象的实例。(AppIDPackage)
前几天刚做完系统,先装的是SQL Sever2008,装完后还试了一下,OK~没问题,然后就继续装VS2012等一些软件.搞到很晚没有继续试试就睡了,第二天运行SSMS出问题了..(如图 1.0 所示 ...
- WPF前台界面显示“未将对象引用设置到对象的实例”
在做即时通信项目中,使用WPF的MVVM模式,如果在前台绑定VM,经常会显示波浪线,鼠标放上去提示未将对象引用设置到对象的实例,但程序能正常运行,后来发现如果前台不绑定VM,在后台cs里绑定就不会出现 ...
- 服务器无法处理请求。 ---> 未将对象引用设置到对象的实例
服务器无法处理请求. ---> 未将对象引用设置到对象的实例. 简短说下我遇到的问题.webservice部署到服务器上后,访问方法报上面的错误,最终原因为改方法需要操作文件夹,加上了相应的权限 ...
随机推荐
- 【Luogu】P2292 [HNOI2004]L语言 题解
前置芝士:\(Trie\)字典树 这道题,说是AC自动机,实际上一个\(Trie+\)队列轻松搞定. 首先,我们对所有单词建一棵\(Trie\). 然后,定义一个空队列\(Q\),初始时把\(-1\) ...
- ZOJ 1091 Knight Moves(BFS)
Knight Moves A friend of you is doing research on the Traveling Knight Problem (TKP) where you are t ...
- 对于button元素的理解
button有四种常用的类型: submit: 此按钮将表单数据提交给服务器.如果未指定属性,或者属性动态更改为空值或无效值,则此值为默认值. reset: 此按钮重置所有组件为初始值. butt ...
- 题解 P1541 【乌龟棋】
题目描述 乌龟棋的棋盘是一行\(N\)个格子,每个格子上一个分数(非负整数).棋盘第\(1\)格是唯一的起点,第\(N\)格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点. 乌龟棋中\(M\) ...
- [阿里DIN]从模型源码梳理TensorFlow的形状相关操作
[阿里DIN]从模型源码梳理TensorFlow的形状相关操作 目录 [阿里DIN]从模型源码梳理TensorFlow的形状相关操作 0x00 摘要 0x01 reduce_sum 1.1 reduc ...
- php获取快手视频id
<?php $url = "http://www.gifshow.com/s/xxxxxx"; //初始化 $curl = curl_init(); //设置抓取的url c ...
- 获取tp3.2 public所在的路径
//返回服务器真实路径 $Absolute_Path=$_SERVER['SCRIPT_FILENAME']; //截取index.php $Absolute_Path=substr($Absolut ...
- git commit后如何取消commit
在git使用中要如何取消commit但是还未push的操作? 通常,我们对修改的文件会先git add .,然后git commmit -m "注释",但是如果commit错了,想 ...
- [收藏] 传说中的12306买票插件-chrome专用
12306.cn买票,难死了,登录登录登录... 现在不用了... js插件+chrome浏览器: /* * 12306 Auto Query => A javascript snippet t ...
- leetcode bitmap系列问题整理
1. 题目: 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量). 示例 : 输入: 11输出: 3解释: 整数 11 的二进制表示为 000000 ...