问题标签 [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.

0 投票
3 回答
6572 浏览

CruiseControl.net、msbuild、/p:OutputPath 和 CCNetArtifactDirectory

我正在尝试设置 CruiseControl.net。到目前为止它工作得很好,但我对 MSBuild 任务有疑问。

根据文档,它将 CCNetArtifactDirectory 传递给 MSBuild。但是我该如何使用它呢?

我试过这个:

但这不起作用。实际上,它会因以下错误而终止服务:

ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException:引用未知符号 CCNetArtifactDirectory

文档相当稀疏,google und 主要提供修改 .sln 项目文件,这是我想要避免的,以便以后能够手动构建这个项目——我真的更喜欢 .sln 项目文件/p:OutputPath

0 投票
12 回答
18885 浏览

使用 SVN Revision 标记 CCNET 中的构建

我在以 SVN 作为源代码控制的示例项目中使用 CCNET。CCNET 配置为在每次签入时创建构建。CCNET 使用 MSBuild 构建源代码。

我想AssemblyInfo.cs在编译时使用最新的修订号来生成。如何从 subversion 中检索最新版本并使用 CCNET 中的值?

编辑:我没有使用 NAnt - 只有 MSBuild。

0 投票
7 回答
4017 浏览

nAnt 是否仍然支持并适用于 .net 3.5/VS2008?

我正在使用 MSBuild 来构建我的东西。我想通过 Build Server 使用 CruiseControl.net。

现在,CCNET 经常引用 nAnt,但看起来 ccnet 似乎可以完成 nant 通过项目配置和 msbuild 可以完成的大部分工作。此外,nAnt 似乎有点不受支持,现在已经有将近一年的 Beta 版本。

简而言之:我实际上对 MSBuild 很满意(特别是因为它是“官方”编译器前端),对 nAnt 有点不舒服,但我不想过早判断。

在 MSBuild 上使用 nAnt 的原因是什么?尤其是 ccnet,它在功能方面似乎与 nant 有一些重叠(并添加了与自动构建相关的东西)

0 投票
2 回答
2045 浏览

将 MSTest 与 CruiseControl.NET 一起使用

我们在 NUnit 和 NAnt 中使用 CruiseControl 已经有一段时间了。对于最近的一个项目,我们决定使用 Visual Studio 附带的测试框架,到目前为止它已经足够了。

我试图让解决方案在 CruiseControl 中运行。我终于让构建本身工作了;但是,尽管添加了自定义构建任务和旨在执行此操作的组件,但我无法在 CruiseControl 界面中显示任何测试。有没有人有一个明确的链接来获得这个设置的说明?

0 投票
3 回答
4670 浏览

自动发布脚本和 Visual Studio 安装项目

我认为这里的大多数人都了解全自动构建的重要性。

问题是我们的一个项目现在正在使用集成的 Visual Studio 安装项目 (vdproj),并且最近已移植到 Visual Studio 2008。不幸的是,那些不会在 MSBuild 中构建,并且在 2008 上调用 devenv.exe /build 只会崩溃,显然它在所有多核计算机上都这样做(!!!)。所以现在我可以选择要么回滚到 .Net 2.0 和 2005,要么干脆放弃 Visual Studio 部署,但首先,我想要第二个意见。

任何人都知道另一种构建 .vdproj 的自动化方法,它不需要我们打开 IDE 并单击内容?


当我说我们将放弃 vdproj 时,我想到的是 WiX。你有什么经验吗,好东西,警告?

0 投票
5 回答
25150 浏览

sgen.exe 在构建期间失败

在更改了 Visual Studio 项目的输出目录后,它开始无法构建,并出现如下错误:

我将输出目录更改为 target/win_x32/release/results 但 sgen 中的路径似乎没有更新。项目中似乎没有提到传递到 sgen 的路径,所以我不确定如何修复它。作为一种解决方法,我已经禁用了序列化生成,但解决潜在问题会很好。有没有其他人看到这个?

0 投票
18 回答
6028 浏览

我应该从 nant 切换到 msbuild 吗?

我目前使用 nant、ccnet(巡航控制)、svn、mbunit。我使用 msbuild 来构建我的 sln 只是因为它更容易脱壳。

将我的整个构建脚本切换到 MSBuild 有什么好处吗?我需要能够运行测试、watir 风格测试、xcopy 部署。这更容易吗?

更新:是否有任何引人注目的功能会导致我从 nant 转移到 msbuild?

0 投票
2 回答
2100 浏览

如何使用 MSBuild 和 MS 虚拟服务器和/或 Hyper-V 服务器虚拟化创建虚拟机作为构建过程的一部分?

我想做的是创建一个干净的虚拟机映像作为应用程序构建的输出。

因此将创建一个新的虚拟机(从模板很好,安装了操作系统,并安装了一些基础软件)--- 将在 IIS 中创建一个新网站,并将 Web 应用程序构建输出复制到虚拟机硬盘和 IIS 配置正确,虚拟机将启动并运行。

我知道有 MSBuild 任务可以为 IIS 中的所有管理操作编写脚本,但是如何使用虚拟机编写所有操作的脚本?具体来说,从模板创建一个新的虚拟机,对其进行唯一命名,启动它,配置它等等......

具体来说,我想知道是否有人成功地将任何 VM 脚本作为构建过程的一部分实现。

更新:我假设使用 Hyper-V,有一组不同的库/API 来编写虚拟机脚本,有人玩过这个吗?任何有真正实践经验的人做这样的事情?

0 投票
5 回答
12987 浏览

如何通过 CruiseControl.NET 发布 ClickOnce 应用程序?

我在我的开发服务器上设置了 CruiseControl.NET 1.4 版。每当开发人员签入代码时,都会进行编译。

现在我们可以开始将我们的应用程序提供给测试人员了。我们想使用 ClickOnce 来分发应用程序,其想法是当测试人员去测试应用程序时,他们拥有最新的构建。

我找不到使用 CruiseControl.NET 实现这一点的方法。我们使用 MSBUILD 来执行构建。

0 投票
7 回答
2389 浏览

如何在构建后自动执行重复性任务?

我运行一个 ASP.NET 网站解决方案,其中包含一些其他项目。我知道 MSBuild 项目能够做到这一点,但这是最好的方法吗?它们容易创建吗?nAnt、CruiseControl.NET 或任何其他解决方案更好吗?

当我构建站点(使用Web Deployment Projects)时,我可以自动化部分构建,以便它不会将项目中的某些文件夹复制到 Release 文件夹中吗?例如,我的文件夹包含本地搜索索引、图像和文件夹的其他内容部分,但在部署项目时我从不需要或上传这些。

我也在寻找这种类型的解决方案来自动增加构建和版本号。