VB.NET中的连接

VB.NET中的连接,vb.net,Vb.net,我试图在过程中连接一个长字符串。启动调用,我把语法搞乱了。以下是我到目前为止的情况: System.Diagnostics.Process.Start(Environment.GetEnvironmentVariable(“VS110COMNTOOLS”)&..\Ide\MSTEST.EXE“,”/Testsettings:&rwSettings&“/Testcontainer:&rwscontainer&“/Resultsfile:&utilnamespace.rwsresults) 如您所见

我试图在
过程中连接一个长字符串。启动
调用,我把语法搞乱了。以下是我到目前为止的情况:

System.Diagnostics.Process.Start(Environment.GetEnvironmentVariable(“VS110COMNTOOLS”)&..\Ide\MSTEST.EXE“,”/Testsettings:&rwSettings&“/Testcontainer:&rwscontainer&“/Resultsfile:&utilnamespace.rwsresults)

如您所见,我正试图用一系列参数启动进程
MSTEST.EXE
。我的问题主要围绕第一位。我需要它来获取VS2012的安装目录,这样它就知道在哪里可以找到
MSTEST.EXE
,所以我试图聪明地使用环境变量,但这会返回工具目录。。。所以我需要它来备份一个步骤并进入IDE目录


我希望这样做,而不必定义自己的函数来从注册表项中查找安装目录。知道如何让它执行与

等效的操作吗执行目录连接最安全的方法是使用:


这将自动确保目录被正确终止。如果您只是执行直接字符串连接,并且有人或某事已从环境变量中删除了尾随\项,则直接字符串concat将产生不正确的结果(即.\tools..ide \而不是\tools..ide).

执行目录连接最安全的方法是使用:


这将自动确保目录被正确终止。如果您只是执行直接字符串连接,并且某人或某事已从环境变量中删除尾随\项,则直接字符串concat将产生错误的结果(即.\tools..ide \而不是\tools..ide)。

只需将..项放在路径中。
”..\ide\mstest.exe“
我以为这会被解析为字符串并失败,但我会试一试。为了记录在案:
string.Concat(“str1”、“str2”、“str3”)
@Bjørn RogerKringsjå我会选择string.Format而不是string.Format。
System.Diagnostics.Process.Start(string.Format({0}..\ide mstest.exe/Testsettings:{1}/Testcontainer:{2}/Resultsfile:{3},Environment.GetEnvironmentVariable(“VS110COMNTOOLS”),rwContainer,utilnamespace.rwResults));
只需将..放在路径中。
。。\ide\mstest.exe“
我以为这会被解析为字符串并失败,但我会试一试。只为记录:
string.Concat(“str1”、“str2”、“str3”)
@Bjørn RogerKringsjå实际上我更喜欢String.Format.
System.Diagnostics.Process.Start(String.Format({0}..\Ide\MSTEST.EXE/Testsettings:{1}/Testcontainer:{2}/Resultsfile:{3})、Environment.getenvironment变量(“VS110COMNTOOLS”)、rwContainer、utilnamespace.rwResults))
Dim msTestPath As String
msTestPath = IO.Path.Combine(Environment.GetEnvironmentVariable("VS110COMNTOOLS"), "..\Ide\MSTEST.EXE")