控制台应用程序启动CodedUI测试
我有一个编码的UI测试,我想使用批处理,它是一个.dll文件. 我从批处理文件调用它的原因是必须在进行此测试之前重新启动服务器. 它只是一个简单的call test.dll,还是我必须做其他事情? 更新 找到的代码 Playback.Initialize(); TestProject.CodedUITest1 coded = new TestProject.CodedUITest1(); coded.CodedUITestMethod1(); Playback.Cleanup(); 从在这里,其缺少来自私人组件的两个参考添加剂: microsoft.visualstudio.testtools.uitest.extension.uia.dll microsoft.visualstudio.testtools.uitest.extension.ie.dll 希望这可以帮助其他人希望这样做 解决方案 您无法像EXE一样运行DLL文件. dll
12 2024-04-26
编程技术问答社区
如何在不涉及Visual Studio的情况下编译一个C#解决方案?
我是一个根本不特别喜欢Visual Studio的人,宁愿使用我的高度配置的GVIM来编辑代码,而不是被围入IDE. 因此,我的目标是一种用于编译Web应用程序的C#代码的方法 当前,我可以使用以下批处理脚本编译现有代码: > 问题伴随着对项目文件和解决方案文件的需求.有没有一种方法可以隔离它们是如何生成的(如果我可以获取现有的脚本Visual Studio用途,可以在自动脚本中使用远程计算机的副本或自己生成它们? 或者,是否可以绕过它们以绕过较小的项目和个体形式?不幸的是,我对Aspnet_compiler的了解是有限的. 解决方案 Microsoft.Build名称空间是您的朋友! 示例:制作CSPROJ: var pathToLibs = @"..\..\..\libs\"; Engine engine=new Engine(); engine.BinPath=RuntimeEnvironment.GetRuntimeDirectory()
2 2024-04-26
编程技术问答社区
在C#网络服务中执行批处理文件
我正在尝试在C#Web服务中执行批处理文件.我确定批处理文件没有问题.我面临的问题是,批处理文件仅在调试模式下执行.当我与客户端计算机连接时,它不会产生错误或被执行.我确信该连接没有错,因为我可以成功地将某些内容从客户端发送到Web服务. 这是代码: try { System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo.FileName = "C:\\mybatch.bat"; proc.StartInfo.UseShellExecute = true; proc.Start(); } catch (Exception e) { return e.ToString();
6 2024-04-26
编程技术问答社区
批处理工作正常,但在c#程序中 "windows无法找到devcon.exe"。
我有一个批处理文件,可以使用 Windows DevCon . 当我双击它运行此批处理文件时,它可以正常工作. 但是,我尝试从使用此行编写的C#程序中运行它: System.Diagnostics.Process.Start("C:/*path to file*/file.bat"); 它运行正常,直到尝试打开DevCon.exe,我会收到以下消息: 之后,它继续顺利运行. 有什么想法为什么它不起作用C#程序? P.S 由于IP问题,我无法发布批量代码... 解决方案 好的,经过一些研究,我发现了这个简单的解决方案: 简单地更改为批处理代码开头的DevCon.exe(使用CD命令)的目录,即: cd "C:/*path to the directory of devcon.exe*" #rest of the code 其他解决方案 问题通常是"工作目录".当您双击Explorer中的某些内容时,工作目录将设置为当前文件夹,因此从批处理文件的角度
0 2024-04-26
编程技术问答社区
重定向批处理文件进程输出不运行
我正在尝试将输出从批处理文件执行重定向到我们的控制台应用程序的主窗口. 我正在调用这样的方法来运行这样的过程: this.runProcess("\\bar\foo\blah\", "myBatch1.bat", "bat"); 被调用的方法如下: public void runProcess(string aPath,string aName,string aFiletype) { Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Started: {0}",DateTime.Now.ToString("dd-MMM hh:mm:ss")); Console.WriteLine("Will try run this file {0} {1}",aPath,aName); Console.WriteLine("File type {0}",aFiletype); st
10 2024-04-26
编程技术问答社区
如何在C#中执行多个.BAT文件
我需要使用" C#Windows表单应用程序"执行倍数文件.以防万一包含一条或多条线的蝙蝠,例如:" start filename.exe"我的程序等到" filename.exe"将被终止,显然这不是我需要的,我 附加了我使用的代码片 预先感谢. francesco using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Sample { public partial class For
12 2024-04-26
编程技术问答社区
什么是处理多个文件的最有效方法?
我试图通过将多个文件拖动到.exe来启动程序,然后将EXE根据程序本身中的规则和逻辑发送到Diadfrent文件夹. 我遇到的问题是我通过控制台应用程序执行此操作,一次可以将多少信息发送到EXE. 在运行Microsoft Windows的计算机上 XP或更高版本,最大长度 您可以在命令上使用的字符串 提示为8191个字符.在 运行Microsoft Windows的计算机 2000或Windows NT 4.0,最大 您可以使用的字符串长度 在命令提示为2047 字符. 在这个问题上最简约的方式是什么?我想避免在可能的情况下始终在后台运行程序. 解决方案 而不是将文件拖动到" .exe",也许您可​​以创建一个"热文件夹"将文件放入中.您需要编写应用程序来监视此文件夹(使用其他解决方案 有一种方法可以编写.NET程序,该程序使用FilesystemWatchter类观看特定文件夹.我写了这个想法是您指出一个文件夹并订阅该文件夹上的某些事件(文件重命名,添加,
0 2024-04-26
编程技术问答社区
什么是处理多个文件的最有效方法?
我试图通过将多个文件拖动到.exe来启动程序,然后将EXE根据程序本身中的规则和逻辑发送到Diadfrent文件夹. 我遇到的问题是我通过控制台应用程序执行此操作,一次可以将多少信息发送到EXE. 在运行Microsoft Windows的计算机上 XP或更高版本,最大长度 您可以在命令上使用的字符串 提示为8191个字符.在 运行Microsoft Windows的计算机 2000或Windows NT 4.0,最大 您可以使用的字符串长度 在命令提示为2047 字符. 在这个问题上最简约的方式是什么?我想避免在可能的情况下始终在后台运行程序. 解决方案 而不是将文件拖动到" .exe",也许您可​​以创建一个"热文件夹"将文件放入中.您需要编写应用程序来监视此文件夹(使用其他解决方案 有一种方法可以编写.NET程序,该程序使用FilesystemWatchter类观看特定文件夹.我写了这个想法是您指出一个文件夹并订阅该文件夹上的某些事件(文件重命名,添加,
2 2024-04-26
编程技术问答社区
通过批处理文件将属性应用于属性获取/设置方法
我也试图自动化使用.NET Framework的XSD创建的部分类别的生成和清理.我的主要问题是[System.diagnostics.debuggerstepthroughattribute()]会影响我的部分类别中的代码以及自动生成的代码.我可以在用于创建文件的同一批处理文件中删除有问题的属性. 但是,我不想进入所有自动化文件的属性.我可以通过将[System.diagnostics.debuggerstepthrough()]应用于GET和设置方法来阻止调试器进入每个属性.我可以通过批处理文件执行此操作吗?无需安装/配置第三方脚本语言即可进行文本处理? 添加了属性的示例属性: public string FileFormatVersion { [System.Diagnostics.DebuggerStepThrough()] get { return this.fileFormatVersionField; } [Sys
0 2024-04-25
编程技术问答社区
用CSC分别编译一个目录中的多个文件
我在目录中有多个C#源文件(约50个).我要做的是单独编译所有这些内容,即每个它们都应该生成自己的可执行文件. (其中一些文件是一个或2个目录深.) 目前我在做的是 csc *.cs /recurse:*.cs 这里的问题是,CSC试图将所有文件编译在一起,并找到方法Main的多个实例.我知道这是正确的行为,但这不是我要寻找的. 写批处理脚本是我唯一的选择,还是我可以执行某种单一命令通配符魔术以单独编译所有文件? 解决方案 使用简单的蝙蝠 循环喜欢 for /R %f in (*.cs) do csc %f 应该做
18 2024-04-25
编程技术问答社区
重定向批处理文件回声命令挂在dispatcher上.
我有一个小应用程序,该应用程序具有一个信息文本框,该框可以输出执行的命令. 目前,我已经设置了它,以便Console.Write[WriteLine]正确附加到文本框.该代码如下: public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { // bind the console output to the new text box var writer = new TextBoxStreamWriter(x_OutputTextBox); Console.SetOut(writer); Console.SetEr
2 2024-04-25
编程技术问答社区
用C#从命令行启动minecraft 1.6.4
我目前正在开发自定义Minecraft 1.6.4发射器. 我编写了大多数代码是C#,但是我正在批处理最终代码. 这似乎可以启动Minecraft 1.5.2 JAR cd "%~1" java -Xms512m -Xmx1g -Djava.library.path=Bin\bin\native\ -cp Bin\bin\* net.minecraft.client.Minecraft %~2 %~3 pause (c#处理会话ID(%〜3)) 但是,在Minecraft 1.6.4中,我有一个错误: Error: Could not find or load main class net.minecraft.client.Minecraft 我听说过Minecraft启动方式的变化,无论如何我是否有将新系统实现到我的发射器中? 如果没有批处理的方法,那将是很棒的! c#代码启动批处理文件: string sessionID = Sess
6 2024-04-24
编程技术问答社区
C#程序不能从Java中执行
我有我制作的C#程序,虽然可以通过单击EXE文件或单击批处理文件来运行它,但我无法在运行它的Java程序上启动该程序.我已经尝试了这条代码,无法运行该软件. Runtime.getRuntime().exec("nameOfTheExeFile"); 或将其设置为我启动程序的批处理文件. Runtime.getRuntime().exec("nameOfTheBatchFile"); 现在有趣的是,当我使用批处理文件尝试时,我会发现一个错误,说找不到该文件,但是当我双击批处理文件时,它将启动EXE文件. 我什至尝试使用过程,但我也没有任何运气 List cmdAndArgs = Arrays.asList(new String[]{"cmd.exe", "/c", "ProgramName.exe"}); ProcessBuilder pb = new ProcessBuilder(cmdAndArgs); Process p = pb.start()
2 2024-04-24
编程技术问答社区
找出一个进程是否运行完毕
我有一台从客户端接收命令并运行它们的服务器. 这些命令使用一个特定的批处理脚本,该脚本接收参数并运行. 该脚本将其称为外部控制台应用程序程序,其中包括这些参数. 参数还可以指示脚本在后台运行控制台应用程序的多个实例.因此,结果可能是一个打开的CMD,在后台运行3个实例. 我想知道app.exe完成的每个过程中的每个过程(并获得其参数的特定命令行),然后将其发送给客户. 有什么想法? 解决方案 您是否考虑过从一个后发现工人调用此脚本? 您将执行这样的事情: static void ExecuteCommand(string command) { int exitCode; ProcessStartInfo processInfo; Process process; processInfo = new ProcessStartInfo("cmd.exe", "/c " + command); processInfo.C
6 2024-04-24
编程技术问答社区
交叉线问题
我得到了此代码(lg_log是一个列表框,我希望它记录start_server.bat),这是我得到的代码: public void bt_play_Click(object sender, EventArgs e) { lg_log.Items.Add("Starting Mineme server .."); string directory = Directory.GetCurrentDirectory(); var info = new ProcessStartInfo(directory + @"\start_base.bat") {UseShellExecute = false, RedirectStandardOutput = true, CreateNoWindow = true, WorkingDirectory = directory + @"\Servers\Base"}; var proc = new Process {
2 2024-04-24
编程技术问答社区
一段时间后执行一个应用程序
我正在编写一个小应用程序,该应用需要每周执行一次. 我可以将其写为不断运行的服务,但只能执行我需要它每周一次的任务,但这似乎过于谋杀. 是否有另一种方法可以在每个X期间执行一次应用程序? 我正在寻找一种不涉及用户交互的解决方案. 解决方案 您始终可以使用其他解决方案 您可以使用其他解决方案 您可以使用Windows调度程序每周一次计划执行应用程序.
10 2024-04-24
编程技术问答社区
在批处理文件中通过c#程序运行git fetch会挂起
我试图通过C#运行多个Git命令,并继续使用结果输出. 我写了这种小方法来使用: private string runGitCommand(string gitCommand, string path) { ProcessStartInfo processInfo = new ProcessStartInfo(); processInfo.FileName = System.Windows.Forms.Application.StartupPath+"\\gitcommand.bat"; processInfo.WindowStyle = ProcessWindowStyle.Hidden; processInfo.Arguments = gitCommand; processInfo.CreateNoWindow = true; processInfo.UseShellE
8 2024-04-23
编程技术问答社区
从C#运行.bat文件
我面临一个奇怪的问题,我有一个.bat文件,其中包含一个用于重命名文件的代码,当我手动打开.bat文件时,它可以执行它在其上写的文件,但是当我重命名文件时,但是当我尝试从C#编程开放它,它没有做任何事情,它可以打开文件,并且不会编译其写入的内容.我键入该代码: Process.Start(@"file.bat"); 我还知道您是否将路径输入CMD并按Enter输入,它将打开文件并编译它,因此我写道: ProcessStartInfo psi3 = new ProcessStartInfo("cmd", "/c " + '"'+"D:\\my Work\\My Soft\\CA Delete\\CA Delete\\bin\\Debug\\file.bat"+'"'); Process p3 = Process.Start(psi3); p3.WaitForExit() ,但仍然存在同一问题:文件正在打开,但从来没有写过它. 编辑:[我知道为什么] 我拍摄了
8 2024-04-23
编程技术问答社区
如何从C#中执行一个批处理文件?
(请参阅解决方案) 我不认为这会很难.我有一个commmand文件,d:\ a.cmd,其中包含: copy /b d:\7zS.sfx + d:\config.txt + d:\files.7z d:\setup.exe 但是这些C#的行不会执行它: Process.Start("d:\\a.cmd"); Process.Start("cmd", "/c d:\\a.cmd"); 投掷win32 exception:"%1不是有效的win32应用程序." process.start打开.pdf文件...为什么不执行命令文件? 如果我在CMD窗口中键入: cmd /c d:\a.cmd Windows XP,MS Visual Studio 2008. 预先感谢 吉姆 解决方案 我只是有些尴尬:(有一个名为cmd.exe的文件,我的应用程序的dir中的尺寸为零.我不知道它是怎么到达那里的,但是现在是吐司,上面的c#语句现在起作用
12 2024-04-23
编程技术问答社区
如何创建.bat文件来运行c#代码?
我需要的是:我有一个C#代码,我想构建它以在桌面上创建.bat文件.因此,当我从桌面运行此.BAT文件时,它应该执行C#代码. 是否有一种方法可以在编译之前更改C#项目的设置或属性,以创建一个.bat文件,该文件应运行此C#代码? 解决方案 将C#代码编译到控制台应用程序中. 然后使用批处理文件运行此应用程序. 在您的桌面上创建一个名为batch.bat(或whthing.bat)的文件,并将以下内容放入其中: @echo off [full path to your application]\[application name].exe [any additional parameters] ---替代---- 在项目属性中,可以选择构建事件.在邮政构建命令行中,请记录以下内容: echo @echo off > [path to desktop batchfile].bat echo $(TargetPath) >> [path to
2 2024-04-23
编程技术问答社区