问题标签 [msbuild]
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.
CruiseControl.net、msbuild、/p:OutputPath 和 CCNetArtifactDirectory
我正在尝试设置 CruiseControl.net。到目前为止它工作得很好,但我对 MSBuild 任务有疑问。
根据文档,它将 CCNetArtifactDirectory 传递给 MSBuild。但是我该如何使用它呢?
我试过这个:
但这不起作用。实际上,它会因以下错误而终止服务:
ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException:引用未知符号 CCNetArtifactDirectory
文档相当稀疏,google und 主要提供修改 .sln 项目文件,这是我想要避免的,以便以后能够手动构建这个项目——我真的更喜欢 .sln 项目文件/p:OutputPath
。
使用 SVN Revision 标记 CCNET 中的构建
我在以 SVN 作为源代码控制的示例项目中使用 CCNET。CCNET 配置为在每次签入时创建构建。CCNET 使用 MSBuild 构建源代码。
我想AssemblyInfo.cs
在编译时使用最新的修订号来生成。如何从 subversion 中检索最新版本并使用 CCNET 中的值?
编辑:我没有使用 NAnt - 只有 MSBuild。
nAnt 是否仍然支持并适用于 .net 3.5/VS2008?
我正在使用 MSBuild 来构建我的东西。我想通过 Build Server 使用 CruiseControl.net。
现在,CCNET 经常引用 nAnt,但看起来 ccnet 似乎可以完成 nant 通过项目配置和 msbuild 可以完成的大部分工作。此外,nAnt 似乎有点不受支持,现在已经有将近一年的 Beta 版本。
简而言之:我实际上对 MSBuild 很满意(特别是因为它是“官方”编译器前端),对 nAnt 有点不舒服,但我不想过早判断。
在 MSBuild 上使用 nAnt 的原因是什么?尤其是 ccnet,它在功能方面似乎与 nant 有一些重叠(并添加了与自动构建相关的东西)
将 MSTest 与 CruiseControl.NET 一起使用
我们在 NUnit 和 NAnt 中使用 CruiseControl 已经有一段时间了。对于最近的一个项目,我们决定使用 Visual Studio 附带的测试框架,到目前为止它已经足够了。
我试图让解决方案在 CruiseControl 中运行。我终于让构建本身工作了;但是,尽管添加了自定义构建任务和旨在执行此操作的组件,但我无法在 CruiseControl 界面中显示任何测试。有没有人有一个明确的链接来获得这个设置的说明?
自动发布脚本和 Visual Studio 安装项目
我认为这里的大多数人都了解全自动构建的重要性。
问题是我们的一个项目现在正在使用集成的 Visual Studio 安装项目 (vdproj),并且最近已移植到 Visual Studio 2008。不幸的是,那些不会在 MSBuild 中构建,并且在 2008 上调用 devenv.exe /build 只会崩溃,显然它在所有多核计算机上都这样做(!!!)。所以现在我可以选择要么回滚到 .Net 2.0 和 2005,要么干脆放弃 Visual Studio 部署,但首先,我想要第二个意见。
任何人都知道另一种构建 .vdproj 的自动化方法,它不需要我们打开 IDE 并单击内容?
当我说我们将放弃 vdproj 时,我想到的是 WiX。你有什么经验吗,好东西,警告?
sgen.exe 在构建期间失败
在更改了 Visual Studio 项目的输出目录后,它开始无法构建,并出现如下错误:
我将输出目录更改为 target/win_x32/release/results 但 sgen 中的路径似乎没有更新。项目中似乎没有提到传递到 sgen 的路径,所以我不确定如何修复它。作为一种解决方法,我已经禁用了序列化生成,但解决潜在问题会很好。有没有其他人看到这个?
我应该从 nant 切换到 msbuild 吗?
我目前使用 nant、ccnet(巡航控制)、svn、mbunit。我使用 msbuild 来构建我的 sln 只是因为它更容易脱壳。
将我的整个构建脚本切换到 MSBuild 有什么好处吗?我需要能够运行测试、watir 风格测试、xcopy 部署。这更容易吗?
更新:是否有任何引人注目的功能会导致我从 nant 转移到 msbuild?
如何使用 MSBuild 和 MS 虚拟服务器和/或 Hyper-V 服务器虚拟化创建虚拟机作为构建过程的一部分?
我想做的是创建一个干净的虚拟机映像作为应用程序构建的输出。
因此将创建一个新的虚拟机(从模板很好,安装了操作系统,并安装了一些基础软件)--- 将在 IIS 中创建一个新网站,并将 Web 应用程序构建输出复制到虚拟机硬盘和 IIS 配置正确,虚拟机将启动并运行。
我知道有 MSBuild 任务可以为 IIS 中的所有管理操作编写脚本,但是如何使用虚拟机编写所有操作的脚本?具体来说,从模板创建一个新的虚拟机,对其进行唯一命名,启动它,配置它等等......
具体来说,我想知道是否有人成功地将任何 VM 脚本作为构建过程的一部分实现。
更新:我假设使用 Hyper-V,有一组不同的库/API 来编写虚拟机脚本,有人玩过这个吗?任何有真正实践经验的人做这样的事情?
如何通过 CruiseControl.NET 发布 ClickOnce 应用程序?
我在我的开发服务器上设置了 CruiseControl.NET 1.4 版。每当开发人员签入代码时,都会进行编译。
现在我们可以开始将我们的应用程序提供给测试人员了。我们想使用 ClickOnce 来分发应用程序,其想法是当测试人员去测试应用程序时,他们拥有最新的构建。
我找不到使用 CruiseControl.NET 实现这一点的方法。我们使用 MSBUILD 来执行构建。
如何在构建后自动执行重复性任务?
我运行一个 ASP.NET 网站解决方案,其中包含一些其他项目。我知道 MSBuild 项目能够做到这一点,但这是最好的方法吗?它们容易创建吗?nAnt、CruiseControl.NET 或任何其他解决方案更好吗?
当我构建站点(使用Web Deployment Projects)时,我可以自动化部分构建,以便它不会将项目中的某些文件夹复制到 Release 文件夹中吗?例如,我的文件夹包含本地搜索索引、图像和文件夹的其他内容部分,但在部署项目时我从不需要或上传这些。
我也在寻找这种类型的解决方案来自动增加构建和版本号。