- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在为 Windows 10 应用程序设置 Jenkins 作业。我需要使用 devenv.com 可执行文件编译解决方案中的四个项目之一,因为它是一个扩展名为 .vdproj 的项目(安装项目)。其他项目使用 MSBuild 成功构建,没有任何问题。
当我以 root 身份登录到 Jenkins 目标节点时,Jenkins 作业成功结束,但是当我从 Jenkins 运行作业并且我没有登录时失败。
需要您的帮助或变通方法来解决问题。
PS:我们使用 ant 作为任务运行器,我们有一个启动构建过程的特定任务。
我想向您提供其他信息,例如错误消息和我之前跳过的一个步骤。
错误消息提供了指向 Microsoft Page 的链接并报告配置问题。
由此解决 StackOverflow帖子,我在下面添加了一个新的 DWORD 注册表项
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0_Config\MSBuild\EnableOutOfProcBuild
问题是用户未登录时无法读取此值吗?
我快被这个问题搞疯了。
devenv/?
命令在我本地运行时工作正常,但当我从 Jenkins 运行它时无法正常工作,并出现与以前相同的错误:Microsoft Visual Studio 发现配置问题。要修复它,请以管理员身份重新启动或访问 http://go.microsoft.com/fwlink/?LinkId=659046了解更多信息。
所以 devenv.com 在我未登录时无法执行??
这是我的 .bat 文件,由 ant build.xml 从目标调用
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat"
@set MSBUILD="C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe"
%MSBUILD% "%cd%\src\AutomatedSetupBuild.proj"
pause
AutomatedSetupBuild.proj 是一个 MSBuild 脚本
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Target Name="Build">
<PropertyGroup>
<DevEnv>C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com</DevEnv>
<SolutionFile>$(MSBuildProjectDirectory)\MySolution.sln</SolutionFile>
<ProjectFile>MySetupProject\MySetupProject.vdproj</ProjectFile>
<Configuration>Release</Configuration>
</PropertyGroup>
<Exec
Command=""$(DevEnv)" "$(SolutionFile)" /Rebuild "$(Configuration)" /Project "$(ProjectFile)" /ProjectConfig "$(Configuration)" /Log vs.log /useenv"
ContinueOnError="false"
IgnoreExitCode="false"
WorkingDirectory="$(MSBuildProjectDirectory)" />
</Target>
</Project>
如您所见,我在运行 devenv.com 之前加载了环境变量,但我收到了同样的错误。
最佳答案
您是使用自由风格的工作还是使用 Jenkinsfile 进行管道项目?无论如何,要使 devenv.com 正常工作,必须设置环境变量。
请转到 Windows 开始菜单并查找类似 Visual Studio XX -> Visual Studio 工具 -> VS20XX 开发人员命令提示的内容。按鼠标右键并选择属性。在那里寻找目标。在我的例子中,该字段包含以下字符串:
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat""
如果您使用例如一个 Jenkinsfile,更改对 devnenv.com 的调用,它可能看起来像
bat "devenv.com my_solution_file.sln /project my_project /build \"Release|x64\""
到
bat "call \"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat\"; devenv.com my_solution_file.sln /project my_project /build \"Release|x64\""
重要的是,对 VsDevCmd.bat 的调用在同一个 bat 命令中。否则环境变量设置会丢失,并且不会被第二次调用 bat 看到。
关于windows - 如果没有桌面 session ,devenv.com 将无法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41853739/
我需要使用 CAB 项目构建解决方案。 据我所知,我应该使用 devenv.exe 来构建 CAB。 以下命令行在后台启动 devenv.exe: devenv.exe MyActiveX.sln/重
我目前正在使用脚本来构建我的项目,脚本类似于 devenv.exe mySolution.sln /Rebuild "Release|Win32" /Project "my project" 效果很好
devenv 有记录器吗?我在 cruiseControl.net 中有一个 devenv 任务,但它没有给我任何日志。我什至看不出构建失败的原因。我以前是用msbuild中的logger来查看日志的
我正在命令行中使用以下命令 "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" C:\testl
我从 Python 脚本构建了一个 Visual Studio 解决方案。一切都很好,除了我无法捕获构建输出。 p = subprocess.Popen(['devenv', 'solution.sl
我正在使用 cmd devenv 构建一些项目。 对于某些项目,我想从命令行#define。 有没有办法使用 cmd 和 devenv 来#define?我不想创建新配置。 最佳答案 你可以这样做:
我已将 VSIX-Project 配置为在按 F5 时运行 devenv.exe。 这将打开 Visual Studio 的起始页。为了测试我的扩展,我必须手动打开一个特定的解决方案。 我尝试使用参数
有没有办法发出一个命令行来构建一个包含所有配置的解决方案? 目前我们有 5 个配置,所以我们需要按以下格式发出 5 个命令: C:\Program Files\Microsoft Visual Stu
有没有办法在 devenv 命令行中添加额外的预处理器 #define? 最佳答案 我不完全确定您所说的 vcbuild 命令行是什么意思,但是如果您的意思是 Visual C++ 命令行编译器,那么
我的系统 (windows7) 中安装了两个版本的 Visual Studio 2005/208,当我使用“运行”窗口中的“devenv”命令打开 Visual Studio 时,它打开了 Visua
有没有办法使用 devenv 为命令行构建指定构建详细程度? 我正在尝试进行两次构建我们的解决方案的测试,第二次构建它应该输出: 构建:55 个成功,0 个失败,69 个是最新的,1 个跳过 但实际上
我正在尝试从命令行使用 devenv.exe 编译 Visual Studio 解决方案。我可以让它工作,但解决方案中的所有项目都是针对 AnyCPU 编译的,我希望它们针对 x86 进行编译。所有项
多次安装Visual Studio 2015 Community Edition,多次尝试修复,差点放弃。每次它完成时,我要么进入应用程序,要么根本不进入,我会遇到臭名昭著的“Visual Studi
我已尝试使用 Directx 编译应用程序。但这会导致 $() 出现 PRJ0030 错误。如何转义 (,) 或空格等关键字符。引用我用过的 cmd ^ 但它没有帮助。 最佳答案 Additional
我正在从命令行构建一个 VC++ 9.0 项目(使用 devenv.com): devenv.com myproject.sln /Build "Release|Win32" 我需要为其添加额外的包含
我想知道:从命令行编译解决方案时使用 msbuild 和 devenv 有什么区别? 注意到一个明显的事情是 msbuild 确实构建了解决方案中不包含的依赖项目,而 devenv 没有。 还有其他的
我阅读了一些关于通过命令行构建合并模块的 Stackoverflow 问题,但是当有人建议使用 devenv 进行编译或使用 Dark 从现有的 msi 文件创建 wix 文件时,所有这些问题都被接受
我正在尝试使用 devenv 构建这个简单的 Windows 窗体应用程序但它给出了“使用: devenv [solutionfile | projectfile | anyfile.ext] [
有没有办法在命令行上使用 devenv.exe 仅链接项目而不是完整构建项目? devenv.exe /?提供了以下命令,这些命令似乎都不能仅链接项目而不是完整构建项目。 /Build /Clean
我正在使用 devenv/Rebuild 但没有输出写入控制台。这很烦人,因为我想跟踪进度。 如果我使用/out log.txt,那么它会写入“log.txt”,当然,我可以在构建后进行检查。 也许有
我是一名优秀的程序员,十分优秀!