Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';部署后无法连接到本地数据库_C#_Sql_.net_Sql Server - Fatal编程技术网

C# Can';部署后无法连接到本地数据库

C# Can';部署后无法连接到本地数据库,c#,sql,.net,sql-server,C#,Sql,.net,Sql Server,我正在用Visual C#2015编写一个程序。我已经从IDE中创建了一个本地数据库,在本地构建和运行之后,一切似乎都很好。但是,在发布应用程序并在另一台计算机上安装之后,我在attachdbfilename处收到一个参数异常错误。我已将数据库作为内容文件包括在内。ClickOnce会将数据库复制到“我的Appdata”文件夹中“应用”下的文件夹中。我已在目标计算机上安装了SQL Local DB edition。数据库名称为ConnectionsDatabase.mdf 这些是my Setti

我正在用Visual C#2015编写一个程序。我已经从IDE中创建了一个本地数据库,在本地构建和运行之后,一切似乎都很好。但是,在发布应用程序并在另一台计算机上安装之后,我在attachdbfilename处收到一个参数异常错误。我已将数据库作为内容文件包括在内。ClickOnce会将数据库复制到“我的Appdata”文件夹中“应用”下的文件夹中。我已在目标计算机上安装了SQL Local DB edition。数据库名称为ConnectionsDatabase.mdf

这些是my Settings.Designer.cs文件中的定义

[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\ConnectionSet" +
            "tings.mdf;Integrated Security=True; User Instance=True")]

[global::System.Configuration.DefaultSettingValueAttribute("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\ConnectionsDa" +
            "tabase.mdf;Integrated Security=True; User Instance=True")]
不确定它们是否都应该只在一个数据库中

这是我在适当的类中用于连接字符串的内容。 使用

我愿意分享任何和所有需要的项目文件。请记住,这是一个将安装在多台不同机器上的小型应用程序。请帮忙!!这快把我逼疯了

AttachDbFilename=|DataDirectory|\ConnectionSet" + "tings.mdf
应该是

AttachDbFilename=|DataDirectory|\ConnectionData" + "base.mdf
在设计器文件中。反之亦然。文件名中存在断开连接

编辑: 你是说“密钥的值无效”?这个问题听起来像是目标系统上用于数据库的任何路径都与您的开发机器不匹配


您甚至会说“ClickOnce确实会将数据库复制到我的Appdata文件夹中的APPS下的文件夹中。”因此,可能在您的开发设备上有c:\myapp\App\U Data\ConnectionData.mdf,而在目标设备上,部署后它是c:\myapp\App\U Data\APPS\ConnectionData.mdf。这不起作用。摆脱这些应用程序,或者更改代码,使部署文件夹与您的开发设备上的文件夹相同。这是一个路径问题

嗯。我回去删除了所有对ConnectionSettings.mdf的引用,因为我甚至不知道它是从哪里来的。我肯定这是个问题,但不幸的是,这对我没有帮助。更改后,我重建并重新发布应用程序。安装在目标机器上,与此相同。System.ArgumentException attachdbfilename的密钥无效。我不明白这是怎么回事。谢谢你迄今为止的帮助。
AttachDbFilename=|DataDirectory|\ConnectionData" + "base.mdf