问题标签 [nant]
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.
version-control - 如何将内部版本号从 Nant 传递回 Cruise Control
我有一个 Nant 构建脚本,CruiseControl 使用它来按需构建解决方案。
但是,我们最近才获得 CruiseControl,因此我们的官方内部版本号与 CruiseControl 中列出的不同。
我知道 CruiseControl 将一些属性注入到构建脚本中,以便我可以在脚本 (CCNetLabel) 中访问 CC 内部版本号,但是如何将值传递回 CC 以用作 UI 屏幕上的内部版本号?
例如,CC 表示内部版本号 2
nAnt 脚本每次构建都会增加一个 buildnumber.xml 值,官方的构建号是 123。
我希望 CC UI 显示最后一个成功的内部版本号:123,而不是 2,那么我如何将该值传递回来?
visual-studio-2008 - 通过 NAnt 与 Visual Studio 构建 - 缺少一个 dll
我的解决方案包括这两个项目:
- 我的命名空间.Web.UI
- MyNamespace.Web.Core
UI 引用 Core,Core 引用 Foobar.dll,除了我的库,它不存在任何地方。当我从 Visual Studio 2008 构建时,Foobar.dll 按预期位于 UI 项目的 Bin 文件夹中。我已经确定它在构建之前不存在。
但是当我从 NAnt 构建时,它不存在,这会导致运行时异常。NAnt 任务如下所示:
在 VS 中,我尝试过在发布模式和调试模式下构建、重建、重建所有内容。它总是一样的。Foobar.dll 位于 Bin 文件夹中。NAnt 并非如此。我还尝试从 NAnt 脚本中删除 /m 开关。结果相同。
在 Core 而不是 UI 中引用了其他几个 dll,它们在 NAnt 构建后按预期出现在 Bin 中。
我的解决方法是在 UI 项目中引用 Foobar.dll,但这让我有点恶心。知道什么会导致这种情况吗?
(顺便说一句,Foobar.dll 实际上是 NHibernate.ProxyGenerators.CastleDynamicProxy.dll)
nant - NAnt 什么时候达到 1.0 版
我非常喜欢南特。我用 NAnt 编写了很多脚本。这是一个很棒的小工具。
由于 NAnt 是 1.0 之前的版本,所以当出现问题时,我经常会想是不是 NAnt 本身的问题,但并非总是如此。
一个有趣的例子:运行 oracle 脚本后,我解析了日志输出以确保没有问题。我正在用一个小日志文件对此进行测试,这很好。
我使用任务将文件内容加载到字符串属性并使用正则表达式来搜索错误。
当我将此脚本用于大型日志文件时,我停止在底部收到“构建失败”消息,因为我正在打印错误消息。
因为“构建失败”隐藏在顶部,我认为 NAnt 崩溃了,但它工作正常。
NAnt 最好有 1.0 版本。有什么不可以的理由吗?
c# - 如果 NDepend 查询引发警告,我如何自动失败构建
好的,首先一些背景。我正忙于自动化我们的构建过程。我们混合运行 Vs 2005 和 VS 2008,两者都针对平台 2.0。我们使用 Nant 进行构建,使用 MSBUILD 任务进行编译,使用 Cruise Control .net 进行 CI。目前我们将所有警告视为错误,如果任何 FxCop 规则失败(我们禁用的一小部分除外),则构建失败,如果 Simian 检测到所有项目中超过 5 行的任何代码重复,则构建失败。
我编写了 NDepend CQL 查询来强制执行一些在 FxCop 中难以实现的规则。如果方法/类中的行数超出某个限制,我想使构建失败。如果方法的圈复杂度太高,我也想失败。
作为构建的一部分,我可以轻松地运行 NDepend。但如果我的 CQL 查询返回结果 > 0,我无法让构建失败
所以这是一个问题:
- 有没有人尝试过类似的东西?
- 是否有支持此功能的 Nant 任务?
- 如果有一个调用 NDepend 的 Nant 任务,但没有失败,那么构建是可用的源,所以我可以添加这个功能吗?
谢谢,斯蒂芬
c# - NAnt 扩展函数,Project 对象
有没有办法Project
从 NAnt 扩展函数访问对象,就像可以从扩展任务中完成的那样?
在这个例子中,我想使用函数BaseDirectory
内部的属性Bar
:
我是 NAnt 扩展的新手,所以我不知道这是否是一个有效的问题,或者我是否应该以不同的方式处理这个问题。
.net - 在 NAnt 构建脚本中处理密码
有没有办法在 NAnt 构建期间提示用户输入?我想执行一个需要密码的命令,但我不想将密码放入构建脚本中。
c++ - Ant -> Nant -> Visual Studio 2005 构建
我正在开发一个大型 C++ 项目。它使用单个 Ant 脚本构建,这使得编译针对多个平台和编译器的相同源代码成为可能。
但是,我只需要为 Windows 平台和 Visual Studio 2005 C++ 编译器工作。如果我可以在 Visual Studio 中编写代码和编译,而不是像现在这样使用 Notepad++ 和 Ant 脚本,那就太好了。
我尝试为 Visual Studio 2005 安装 Nant 和 Nant 插件,并使用现有的 Ant 脚本,但似乎 Ant 脚本不能用作 Nant 脚本。
有没有办法将 Ant 脚本转换为 Nant?是否有任何其他解决问题的方法,或者我必须手动创建 Visual Studio 解决方案和项目?
我会尽量避免这样的解决方案,因为我有一堆我不知道在这种情况下如何使用的测试。
nant - 将 osql 与 nant 脚本一起使用
我目前通过调用带有参数的批处理文件来使用 osql 和 nant。以下是我的 nant 脚本中定义的属性(不,不是真实的用户名/密码值):
然后我根据用户名/密码创建 osql 连接:
然后我将这些值传递到我的批处理文件中:
setup.bat 文件使用 osql 删除数据库:
如果我不将用户名/密码传递给 nant 脚本并使用集成安全性(“-E”到 osql),这可以正常工作。如果我确实指定了用户名/密码,那么 nant 脚本就会暂停(就像它正在等待一些输入一样)。我知道我指定了正确的用户名/密码,因为我可以登录 SQL 连接管理器并删除数据库。
如果对尝试什么或替代方法有任何建议,请告诉我。
msbuild - 使用 nant 脚本运行 msbuild 来注册程序集有什么问题?
我正在从 NAnt 脚本运行 MSBuild。当它尝试为 注册我的一个程序集时com interop
,脚本会像卡住一样停止。
如果我regasm.exe
在程序集上运行,它会成功。即使我使用完全相同的参数从命令行运行 MSBuild 本身,它也会成功构建。
使用 NAnt 脚本运行 MSBuild 来注册程序集有什么问题?会不会是权限?
c# - 从 C# 使用 Microsoft 虚拟服务器:CoSetProxyBlanket 什么都不做
我正在尝试编写几个用于与 Microsoft Virtual Server 2005 R2 SP1 交互的 NAnt 任务,并且我已经在“通过 PowerShell 控制虚拟服务器”帖子中提取了“Virtual PC Guy 的 WebLog”中的代码。
它不起作用:调用 CreateVirtualMachine 时总是失败:
System.Runtime.InteropServices.COMException (0x80070542): Either a required impersonation level was not provided, or the provided impersonation level is invalid. (Exception from HRESULT: 0x80070542)
at Microsoft.VirtualServer.Interop.VMVirtualServerClass.CreateVirtualMachine(String configurationName, String configurationPath)
我的代码如下:
...其中 SetSecurity 定义如下:
如果我编写一个独立程序并添加对 的调用CoInitializeSecurity
,那么它可以工作。但是,我不想要一个独立的程序——我想要一组 NAnt 任务(所以是一个 DLL),并且我不想调用CoInitializeSecurity
,因为无法保证其他一些 NAnt 任务不会调用它已经。
有没有人有这个工作?