0

这是我最后一个问题的跟进:在安装 vb.net 项目期间添加连接字符串

这是我到目前为止的代码,但行中的“配置”:

将配置调暗为配置 = ConfigurationManager.OpenExeConfiguration(exePath)

有一条蓝线,因此我无法运行该程序。我将 C# 代码转换为该代码并出现蓝线。我在这里要做的是获取一个字符串,该字符串可用于 app.config 将使用的连接字符串。

导入 System.ComponentModel

导入 System.Configuration.Install

公共类 InstallerClass

Public Sub New()
    MyBase.New()


    InitializeComponent()

End Sub


<RunInstaller(True)> _
Partial Public Class MyInstaller
    Inherits Installer


    Partial Public Class MyInstaller
        Inherits Installer


        Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary)


            MyBase.Install(stateSaver)

            Dim targetDirectory As String = Context.Parameters("targetdir")

            Dim param1 As String = Context.Parameters("Param1")

            Dim param2 As String = Context.Parameters("Param2")

            Dim param3 As String = Context.Parameters("Param3")


            Dim exePath As String = String.Format("{0}MyWindowsFormsApplication.exe", targetDirectory)

            Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(exePath)

            config.AppSettings.Settings("Param1").Value = param1

            config.AppSettings.Settings("Param2").Value = param2

            config.AppSettings.Settings("Param3").Value = param3

            config.Save()

        End Sub

    End Class




End Class

结束类

4

1 回答 1

0

我不知道是不是这样,但我从您发布的代码中注意到了一些事情:

  • ConfigurationManager来自System.Configuration命名空间,Configuration类也是如此,但您的代码中似乎没有Imports System.Configuration(仅)...如果您还没有这个Imports System.Configuration.Install,我会尝试添加一个语句Imports System.Configuration

  • 您是否在安装程序项目中添加了对程序集的引用System.Configuration?(对不起,我不记得它是否默认添加了这个程序集引用)

于 2013-03-28T17:44:44.783 回答