[英]How does one build a .csproj from command line having a log written to a specified location?
虽然“无日志”构建似乎可以与类似
“ c:\\ Program Files \\ Microsoft Visual Studio 9.0 \\ Common7 \\ ide \\ VCSExpress” Project1.csproj / build
以下失败:
“ c:\\ Program Files \\ Microsoft Visual Studio 9.0 \\ Common7 \\ ide \\ VCSExpress” Project1.csproj / build /Log=log.txt
显示带有此文本的窗口:
缺少开关参数。 / build开关所需的配置名称。
使用:vcsexpress [solutionfile | 工程文件| anyfile.ext] [开关]
vcsexpress的第一个参数通常是解决方案文件或项目文件。 如果要在编辑器中自动打开文件,也可以将其他任何文件用作第一个参数。 输入项目文件时,IDE会在项目文件的父目录中查找与该项目文件具有相同基本名称的.sln文件。 如果不存在这样的.sln文件,则IDE将查找引用该项目的单个.sln文件。 如果不存在这样的单个.sln文件,则IDE将使用默认.sln文件名创建未保存的解决方案,该默认.sln文件名与项目文件具有相同的基本名称。
命令行构建:vcsexpress solutionfile.sln / build [solutionconfig] [/ project projectnameorfile [/ projectconfig name]]可用的命令行开关:
/ Log将IDE活动记录到指定的文件中以进行故障排除。 / ResetSettings恢复IDE的默认设置,还可以选择重置为指定的VSSettings文件。 / SafeMode以安全模式启动IDE,并加载最少的窗口。
产品专用开关:
要从命令行附加调试器,请使用:VsJITDebugger.exe -p
[我正在使用Visual Studio 2008 Express]
因此,问题是:
有没有办法确保将日志文件写入某处?
还是仅在以GUI模式运行IDE时才应使用/Log
开关? 如果是这样,是否有解决方法?
在后台,Visual Studio使用msbuild
进行所有构建。 据我所知,这也适用于Express版本。
如果尚未安装,则MSBuild是.NET SDK的一部分。
调用MSBuild具有直接进行构建的优势-调用VCSExpress只会带来开销。
这是我使用过的MSBuild命令行:
msbuild.exe <solution>
/t:rebuild
/verbosity:quiet
/logger:FileLogger,Microsoft.Build.Engine;logfile=<filePath>
应该与<project>
而不是<solution>
。
您必须在/ build选项之后指定配置。 此外,日志文件必须已经存在,它不会从头开始创建一个。 从而:
copy con > log.txt
^Z // Type Ctrl+Z
"c:\Program Files\Microsoft Visual Studio 9.0\Common7\ide\VCSExpress" Project1.csproj /build debug /log log.txt
在弹出所有信息的窗口中。它给您错误:
缺少开关参数。 / build开关所需的配置名称。
然后,它为您提供了一堆信息,其中包括:
命令行构建:
vcsexpress solutionfile.sln /build [ solutionconfig ]
它只是想知道您具有哪种解决方案配置-我认为是“发布”或“调试”。 不知道vcsexpress是否在“构建”菜单下具有“配置管理器”或“解决方案构建属性页”。但这是您可以再次检查当前设置的位置。 请参阅“活动解决方案配置”。该人员遇到了此问题,请查看其屏幕截图: MSBuild任务配置属性
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.