Windows表单执行时抛出错误

时间:2013-02-18 14:19:47

标签: c# winforms connection-string

我开发了一个在桌面计算机上运行的Windows窗体应用程序。

这是用c#编写的简单系统,它使用Microsoft访问作为其数据库。

我差不多完成了代码,并打算在其他系统上创建安装文件。

我确实创建了安装文件并安装在其中一个系统中,但遗憾的是应用程序无法找到数据库并抛出以下错误。 Error Message when running application

我已将数据库文件放在项目的根文件夹中。

enter image description here

我在整个应用程序中提供了以下连接字符串。

在App.Config中

configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="Database" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database.accdb;Persist Security Info=False;"
            providerName="System.Data.OleDb" />
 </connectionStrings>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

在应用程序类中

string connString = ConfigurationManager.ConnectionStrings["Database"].ConnectionString;

这是我第一次创建设置文件,我不确定我错在哪里。

有人可以找到我的问题的答案吗?

1 个答案:

答案 0 :(得分:0)

您说您在安装程序时看到此错误。我认为安装文件夹中缺少配置文件(您正在读取连接字符串)。可能是您的安装设置有问题(输出文件,配置等)。正如我在图片中看到的那样,您的整个项目位于Program Files文件夹中!哪个是为安装选择整个源文件夹的证据!

您应该只为安装选择bin\Debug文件夹,或者如果您使用的是Visual Studio部署项目,则应为Project Output中的文件选择Program Files文件夹中。