我有一个使用Visual Studio 2012编写的C#控制台应用程序.在应用程序中,我使用Sql Server localdb连接到数据库来存储信息.这在几台计算机上运行正常,所有计算机都安装了Visual Studio.
我想部署一个只需要安装Sql Server Express LocalDB的程序,而不是更大的Sql Server Express.但是,我的应用程序未在目标计算机上运行.我在目标计算机上安装了Sql Server Express LocalDB 2014.我可以使用命令行使用sqllocaldb运行命令来验证它是否已安装并正在运行.
C:\Users\someuser\Desktop\Debug>sqllocaldb v
Microsoft SQL Server 2014 (12.0.2000.8)`
Run Code Online (Sandbox Code Playgroud)
但是,当我在同一台目标计算机上运行我的应用程序时,出现以下错误.
C:\ Users\someuser\Desktop\Debug> Testing_Console
11:21:07,912 [1] INFO TestingConsole.Program - 当前目录是C:\ Users\someuser\Desktop\Debug
Extra Info:(null)
未处理的异常:System.Data .SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误.无法创建自动实例.请参阅Windows应用程序事件日志以获取错误详细信息.
以下是我的app.config文件的开头,我在其中定义连接字符串.我已经尝试将直接文件路径放入LM文件,但这并没有解决问题.然而,这是预期的,因为该程序可以在安装了Visual Studio的计算机上的任何目录中运行.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<connectionStrings>
<add name="KomoLM_Console.Properties.Settings.LMConnectionString"
providerName="System.Data.SqlClient"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\LM.mdf;Integrated Security=True;MultipleActiveResultSets=True"
/>
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
Run Code Online (Sandbox Code Playgroud)
我不知道这个问题是否只与安装了SQL Server Express LocalDB 2014有关.谁能告诉我我的问题可能是什么?
c# sql-server localdb visual-studio-2012 sql-server-2014-express