我正在尝试帮助一个朋友执行他的C#项目。 他正在Visual Studio 2008上使用Web Service,但我俩都不知道(我正在使用2017版)。 他在连接数据库文件的字符串时遇到困难,我也很难帮助他。 当我们尝试连接到我的PC上的数据库时,抛出一个异常,即在特殊路径上找不到该数据库。 我在他的解决方案项目中搜索了连接字符串,并在他的“ Setting.designer.cs”文件中找到了以下代码:
namespace ToolRoadManager.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
[global::System.Configuration.DefaultSettingValueAttribute("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\admin\\Desktop\\Pro\\1too" +
"lRoad\\toolRoadWs\\App_Data\\ToolRoadDb.accdb;Persist Security Info=True")]
public string ToolRoadDbConnectionString {
get {
return ((string)(this["ToolRoadDbConnectionString"]));
}
}
}
}
我可以看到他的连接字符串是绝对的,因此我尝试使用Application.StartupPath
将其更改为相对的:
[global::System.Configuration.DefaultSettingValueAttribute("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
System.Windows.Forms.Application.StartupPath + "\\ToolRoadDb.accdb;Persist Security Info=True")]
但它不允许我使用它,它不是const或数组或其他东西。 我们该如何解决这个问题?