这是我最后一个问题的后续:在安装vb.net项目时添加连接字符串
这是我到目前为止所拥有的代码,但"配置"在行:
Dim config As Configuration = configurationmanager . openexecconfiguration (exePath)
有一条蓝线,因此我不能运行程序。我将c#代码转换为那个代码,蓝色的线出现了。我在这里要做的是获得我可以用于连接字符串的字符串,该字符串将由app.config.
使用。导入系统。ComponentModel
进口System.Configuration.InstallInstallerClass
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
结束类
我不知道如果这是它,但一些事情我已经注意到从代码你已经发布:
-
ConfigurationManager
来自System.Configuration
名称空间,Configuration
类也是如此,但您的代码中似乎没有Imports System.Configuration
(仅Imports System.Configuration.Install
)…如果你还没有这个,我会尝试添加一个Imports System.Configuration
语句 -
您是否在安装程序项目中添加了对
System.Configuration
程序集的引用?(对不起,我不记得它是否附带默认添加的这个汇编参考)