问题标签 [post-build]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2010 - 仅当给定的注册表项没有特定值时,如何允许用户安装?
运行我的安装程序的条件之一是注册表中的值应该不同于“1”,否则它将显示错误消息并退出。
这不能通过自定义操作来完成,因为即使OnBeforeInstall
事件发生在安装之后,所以用户可以在回滚之前终止设置。
如果我使用的是 WiX,它会很简单
如果没有 WiX,我怎么能做同样的事情?
visual-studio-2010 - 复制命令第二次失败 - 但不是第一次
我在 VS2010 中为将输出 *.dll 文件复制到另一个地方的项目创建了一个构建后事件,在第一次构建尝试时它构建没有错误,但是当我再次尝试时,它失败并出现错误-代码 1 ->could not load file, because it's used by another process
构建后命令:
我该如何解决这个问题?第一个项目(生成 .dll 的地方)没有依赖项,需要 dll 的第二个项目的依赖项设置为第一个项目,那么为什么命令会失败?
visual-studio-2010 - 构建后批处理文件末尾的 DEL "%~f0" 导致错误代码 1
我目前正在尝试在 Visual Studio 中创建一个构建后脚本来清理我构建版本的目录。批处理文件执行良好,所有预期的行为都会发生,但在 Visual Studio 中我收到一条消息说"Call post-build.bat" exited with code 1.
我的批处理脚本如下:
编辑:
它是批处理文件底部的 DEL 命令。有什么办法可以解决这个问题吗?
visual-studio-2010 - 是否可以在一个 CMD 行语句中设置多个环境变量?
我有一个 PowerShell 脚本设置为在 MSBuild 完成后执行。它使用在构建过程的 POSTBUILD 部分中设置的环境变量(构建目录等)。目前它看起来像这样:
每个集合在单独的行上运行,但仍在同一个 CMD 实例中。
有没有一种方法可以只使用一行而不是 7 行一次设置多个变量?
parameters - 在 Jenkins 中将参数从构建步骤传递到构建后步骤
如何将 Jenkins 中的参数从构建步骤传递到构建后步骤?我不想通过文件来做,因为它只是一个我想传递的简单字符串(版本号)。
在后期构建中,我使用 Groovy 后期构建插件将此字符串添加到构建摘要中。
更新: 我很绝望))并决定通过文件路由。无法弄清楚如何在 Groovy 构建后步骤中获取 WORKSPACE env var 以从那里获取文件。
最终更新: 所以我最终解析了构建日志,请参阅下面的我自己的答案。
jenkins - 执行 jenkins postbuild 脚本时是否有关于作业状态的信息
如果构建失败,我需要运行某些 shell 命令。是否有任何传递给 shell 的变量包含此类信息?或者也许我可以在文件中找到它?
我需要这样的东西:
我已经打印过了env
,没有什么可以直接说构建失败。
c# - 允许受保护和内部的工具?
这是这个问题的后续。
我有一个安全敏感类A
和使用它的包装层次结构(类B
和ChildOfB
)。B
必须初始化一个实例 A
并允许ChildOfB
使用它。的实例A
应该只能访问被B
and访问ChildOfB
,它暴露给其他程序集并且不能是内部的。
代码示例:
据我所知,在普通的 C# 中没有办法做到这一点。
我可以接受使用外部工具的解决方案,它可能会在编译后修改 dll(例如基于某些属性)。例如,在我的代码中,该属性将internal
代替,protected
并且在编译之后,此工具可能会更改 CLR 类型定义以包含缺少的标志(结果应该具有系列和程序集访问修饰符)。如果此工具确保更改属性的访问修饰符不会破坏初始 dll 中的任何代码,那也很棒。
events - TFS 构建后事件:在放置位置机器上执行命令?
我已经配置了一个构建,它可以将其输出复制到干净的 VM 中没有问题。现在我想定义一个调用 drop 机器上的安装程序的构建后事件。还没有运气。事件如下所示:
$(DropLocation)\$(BuildNumber)\Submittal\$(IntfGenericName)_$(BuildNumber)$(BuildLabel).msi /qn
...并正确指定安装程序的名称。我尝试了一个简单的命令:
...这也不起作用。是否可能无法在 drop 机器上发出命令?
visual-studio-2013 - 如何为构建后操作创建 Visual Studio 2013 扩展
在一个巨大的 VS 2005 解决方案中,我们使用 Visual Studio VB 宏为所有项目执行自定义后期构建操作。因为 VS 2013 不再支持宏,所以我正在寻找一种使用 VS 扩展来执行这些操作的方法。
我在选择正确的方法时遇到了困难,似乎有不同的方法可以做到这一点。
我只是想知道哪种方法最适合我们:
- VSIX 与 VS 包?
- 应该可以捕获构建事件
- 我们希望在开发人员机器上进行最小安装(首选文件副本)
- 创建一些工具栏命令会很好但不是必需的
c# - 如何复制 NuGet 包本机库文件?
我有托管库依赖于本机库的 NuGet 包。我想将本机依赖项复制到 \\UnmanagedLibraries\Windows\x86\ 文件夹,并且我制作了以下文件,该文件被复制到构建文件夹:
它对一个包运行良好,但我有多个 NuGet 包需要复制它们的本机引用。安装第二个包后,不会复制第一个包的本机引用。似乎“AfterBuild”被新包覆盖了。
我还更改了目标名称和 AfterBuildDependsOn 以确保其他包不共享相同的目标变量名称,但这没有帮助。
我该如何解决这个问题?