我正在使用Visual Studio在NET 6.0 中构建我的MVC网站
当我发布时,我得到了一个.exe,我可以运行它加载Kestrel,它输出
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[14]
Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
Content root path: D:GitHubmyProjnet.myProj.UiTestsbinDebugnet6.0uiBinariesForUiTests
我在本地主机的5001端口上打开了一个浏览器,一切都很好——网站完全可以在本地主机上运行
我想从测试目录中执行这个文件。。。
我正在使用
var fileName = outputPath + "\net5.MyProj.Ui.exe";
_iisProcess = new Process();
_iisProcess.StartInfo.Verb = "runas";
_iisProcess.StartInfo.FileName = fileName;
_iisProcess.EnableRaisingEvents = true;
_iisProcess.StartInfo.UseShellExecute = true;
_iisProcess.StartInfo.CreateNoWindow = false;
_iisProcess.Start();
这导致的问题是,它改变了的内容根路径
D:\GitHub\myProj\net.myProj.UiTests\bin\Debug\net6.0\uiBinariesForUiTests
到
D:\GitHub\myProj\net.myProj.UiTests\bin\Debug\net6.0
当我执行.exe时,是否有明确声明内容根路径的方法?
事实证明,您需要设置目录
_iisProcess.StartInfo.WorkingDirectory = outputPath;