我的应用程序找不到 app.config
My app can no longer find app.config
我在一些 Windows 10 台平板电脑上 运行 用 c# 创建了一个 windows 表单应用程序。这已经 运行 困扰他们一年多了,没有造成任何问题。我们共有三块平板电脑。几周前,其中一台平板电脑需要维修,而另外两台仍在使用中。新修复的平板电脑已恢复出厂设置,现在已全新安装 Windows 10 并进行了最新更新。出于某种原因,当我 运行 修复平板电脑上的应用程序时,从配置文件读取时似乎失败了。所有文件在所有平板电脑上都完全相同
在我的应用程序中,我正在连接到 WCF 服务。我正在使用以下代码获取连接对象:
return new SilverTruckService.SilverTruckServiceClient("TruckService1");
App.Config:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="MySQL-MyDatabase" connectionString="BLABLABLA" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
<system.serviceModel>
<client>
<endpoint address="http://SomeIPAddress:9001/TruckService"
binding="basicHttpBinding" bindingConfiguration="TruckService"
contract="TruckService.ITruckService" name="TruckService1" />
</client>
</system.serviceModel>
</configuration>
在exe文件所在的文件夹中有以下两个文件:
Truck.exe
Truck.exe.config
用户对文件夹有 read/write 访问权限
要进行更多测试以查看问题是出在配置文件还是 WCF 服务,我 运行 下面的代码:
string tmp = ConfigurationManager.ConnectionStrings["MySQL-Database"].ConnectionString;
这个也失败了。由于某种原因,它似乎找不到配置文件或无法从配置文件中读取
记住这个确切的代码 运行 在其他两个平板电脑上也完全没问题 运行ning Windows 10。
任何人都知道什么可能是错的?
我找到问题了。我在错误的地方寻找错误,错误似乎与任何代码相关
我的开发机和平板没有联网。平板电脑只能通过 SIM 卡连接到互联网。为了轻松地将应用程序文件从开发机器传输到平板电脑,我在过去一年中使用了 Google 驱动器,之前没有给我带来任何问题
到 Google 驱动器我正在上传 exe 和 Truck.exe 和 Truck.exe.config 文件。在 Google 驱动器中查看它们似乎一切都是正确的,但由于某些未知原因 Google 驱动器现在决定将 Truck.exe.config 文件重命名为 Truck.exe.config.xml 我没注意到。这当然意味着我的exe文件找不到配置文件
最终结果:将文件重命名为其原始值,一切正常
我在一些 Windows 10 台平板电脑上 运行 用 c# 创建了一个 windows 表单应用程序。这已经 运行 困扰他们一年多了,没有造成任何问题。我们共有三块平板电脑。几周前,其中一台平板电脑需要维修,而另外两台仍在使用中。新修复的平板电脑已恢复出厂设置,现在已全新安装 Windows 10 并进行了最新更新。出于某种原因,当我 运行 修复平板电脑上的应用程序时,从配置文件读取时似乎失败了。所有文件在所有平板电脑上都完全相同
在我的应用程序中,我正在连接到 WCF 服务。我正在使用以下代码获取连接对象:
return new SilverTruckService.SilverTruckServiceClient("TruckService1");
App.Config:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="MySQL-MyDatabase" connectionString="BLABLABLA" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
<system.serviceModel>
<client>
<endpoint address="http://SomeIPAddress:9001/TruckService"
binding="basicHttpBinding" bindingConfiguration="TruckService"
contract="TruckService.ITruckService" name="TruckService1" />
</client>
</system.serviceModel>
</configuration>
在exe文件所在的文件夹中有以下两个文件:
Truck.exe Truck.exe.config
用户对文件夹有 read/write 访问权限
要进行更多测试以查看问题是出在配置文件还是 WCF 服务,我 运行 下面的代码:
string tmp = ConfigurationManager.ConnectionStrings["MySQL-Database"].ConnectionString;
这个也失败了。由于某种原因,它似乎找不到配置文件或无法从配置文件中读取
记住这个确切的代码 运行 在其他两个平板电脑上也完全没问题 运行ning Windows 10。 任何人都知道什么可能是错的?
我找到问题了。我在错误的地方寻找错误,错误似乎与任何代码相关
我的开发机和平板没有联网。平板电脑只能通过 SIM 卡连接到互联网。为了轻松地将应用程序文件从开发机器传输到平板电脑,我在过去一年中使用了 Google 驱动器,之前没有给我带来任何问题
到 Google 驱动器我正在上传 exe 和 Truck.exe 和 Truck.exe.config 文件。在 Google 驱动器中查看它们似乎一切都是正确的,但由于某些未知原因 Google 驱动器现在决定将 Truck.exe.config 文件重命名为 Truck.exe.config.xml 我没注意到。这当然意味着我的exe文件找不到配置文件
最终结果:将文件重命名为其原始值,一切正常