相关疑难解决方法(0)

从msbuild批处理目录属性中删除尾部反斜杠

我正在尝试在msbuild脚本中使用exec任务来工作,并且发现了一个非常烦人的问题.exec命令很好,只是我正在运行的进程(Ncover.Console.exe)无法处理目录名末尾的反斜杠.

为了说明一个剪切示例,以下工作:

<exec command="NCover.Console.exe nunit-console.exe some.dll [snip] //w c:\out" />
Run Code Online (Sandbox Code Playgroud)

但这失败了(请注意"c:\ out"末尾的斜线):

<exec command="NCover.Console.exe nunit-console.exe some.dll [snip] //w c:\out\" />
Run Code Online (Sandbox Code Playgroud)

我不能简单地删除尾部反斜杠的原因是使用批处理读取值.所以在与上面相同的剪辑中,它实际上看起来像这样:

<exec command="NCover.Console.exe nunit-console.exe some.dll [snip] //w 
&quot;%(TestAssemblies.RootDir)%(TestAssemblies.Directory)&quot; />
Run Code Online (Sandbox Code Playgroud)

所以我的问题是如何删除这个讨厌的尾随反斜杠?

提前致谢.

msbuild

12
推荐指数
1
解决办法
4875
查看次数

如何将 Qt 的 Windeployqt 集成为 Visual Studio 构建工作流程的一部分?

每次在 Visual Studio 中首次构建新的 Qt 项目时,即使安装了 VS Tools,我也必须复制一些与 Qt 相关的二进制文件(Qt5Core.dll、平台文件...)。否则,当从 Visual Studio 运行时,Qt5Core.dll(或调试)可以正确找到,但找不到平台 DLL:

在此输入图像描述

显然,当从 IDE 外部运行时,例如在自动化构建的单元测试期间,它也会失败。

Qt 有一个工具可以执行此操作,称为windeployqt,它基本上查找依赖项 (Qt) 并复制它们。例如:

c:\Qt\Qt5.12.1\bin\windeployqt c:\projects\qt-project\Release --release
Run Code Online (Sandbox Code Playgroud)

将分析其中的可执行文件c:\projects\qt-project\Release并将所需的 DLL、插件、翻译和其他相关二进制文件复制到该位置。

我对如何集成windeployqt到 Visual Studio 的构建工作流程感兴趣,因此这个过程是自动的(即使在不同的计算机上签出)。

deployment qt visual-studio qt5 windeployqt

2
推荐指数
1
解决办法
1928
查看次数

标签 统计

deployment ×1

msbuild ×1

qt ×1

qt5 ×1

visual-studio ×1

windeployqt ×1