标签:visual-studio-2010 relative-path c visual-studio
因此,我可以使用以下代码从我的项目中成功运行带有各种参数的命令行应用程序:
String f = fileName;
Process process = new System.Diagnostics.Process();
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.FileName = "C:\\projects\\something\\MediaInfo.exe";
process.StartInfo.Arguments = " \"--Inform=Video;%Duration%|%Width%|%Height%;\" \"" + f + "\"";
process.Start();
StreamReader output = process.StandardOutput;
process.WaitForExit();
MessageBox.Show(output.ReadToEnd());
现在,我要指定一个相对路径,而不是我为MediaInfo.exe指定的绝对路径,这样,当我将应用程序发送给某人时,他们无需为将其放置在正确的位置而烦恼.
在Visual Studio中,我选择我的项目,然后单击添加现有项.我添加了文件.然后选择“始终复制”.我已经为“构建动作”尝试了各种项目.我觉得“无”是正确的选择.
无论如何,我的目标是使process.StartInfo.FileName为相对路径.我不知道该怎么做.有任何想法吗?
解决方法:
您的应用程序的根目录可以通过…获取
string appRoot = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
该语句需要System.IO和System.Diagnostics才能进行编译.
您可以通过以下方式将此值追加到应用程序根目录中的子目录,例如“ data”.
string dataPath = Path.Combine(appRoot, "data");
该应用程序需要在完全信任的情况下运行才能使它们正常工作…
标签:visual-studio-2010,relative-path,c,visual-studio 来源: https://codeday.me/bug/20191201/2084038.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。