Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.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# 错误-在安装C Project.exe期间添加连接字符串_C#_Connection_Installation - Fatal编程技术网

C# 错误-在安装C Project.exe期间添加连接字符串

C# 错误-在安装C Project.exe期间添加连接字符串,c#,connection,installation,C#,Connection,Installation,我遵循了本教程,但在安装过程中出现了错误 错误1001无法创建ProjectName的实例。调用的目标已引发安装程序类型->异常->对象引用未设置为对象的实例 my Installer.cs代码: public Installer() { InitializeComponent(); string dataSource = "Data Source =" + Context.Parameters["DataSource"];

我遵循了本教程,但在安装过程中出现了错误

错误1001无法创建ProjectName的实例。调用的目标已引发安装程序类型->异常->对象引用未设置为对象的实例

my Installer.cs代码:

 public Installer()
        {
            InitializeComponent();
            string dataSource = "Data Source =" + Context.Parameters["DataSource"];
            string initialcatalog = "Initial Catalog=" + Context.Parameters["InitialCatalog"];
            string userid = "User ID=" + Context.Parameters["UserID"];
            string password = "Password=" + Context.Parameters["Password"];
            dataSource = dataSource + ";" + initialcatalog;
            dataSource = dataSource + ";Persist Security Info=True;"+userid+";"+password;
            MessageBox.Show("instance=" + dataSource);
            ExeConfigurationFileMap map = new ExeConfigurationFileMap();
            MessageBox.Show(Assembly.GetExecutingAssembly().Location + ".config");
            //Getting the path location 
            string configFile = string.Concat(Assembly.GetExecutingAssembly().Location, ".config");
            map.ExeConfigFilename = configFile;
            System.Configuration.Configuration config = System.Configuration.ConfigurationManager.
            OpenMappedExeConfiguration(map, System.Configuration.ConfigurationUserLevel.None);
            string connectionsection = config.ConnectionStrings.ConnectionStrings
            ["TECHNOSOFT.Properties.Settings.Tech2014ConnectionString1"].ConnectionString;

            ConnectionStringSettings connectionstring = null;
            if (connectionsection != null)
            {
                config.ConnectionStrings.ConnectionStrings.Remove("TECHNOSOFT.Properties.Settings.Tech2014ConnectionString1");
                MessageBox.Show("removing existing Connection String");
            }

            connectionstring = new ConnectionStringSettings("TECHNOSOFT.Properties.Settings.Tech2014ConnectionString1", dataSource);
            config.ConnectionStrings.ConnectionStrings.Add(connectionstring);

            config.Save(ConfigurationSaveMode.Modified, true);
            ConfigurationManager.RefreshSection("connectionStrings");
        }

我错过了什么?Help

上下文属性在构造函数中仍然为空。这就是为什么会出现null异常。 相反,将逻辑移到Install方法

public override void Install(IDictionary stateSaver)
{
    // Access context and put your logic here
}