下载Nant 0.91后,我遇到了一些与配置或安全相关的相当神秘的配置错误(见下文).
我试图简单地将我的Nant可执行文件从0.86升级到0.91.
在Windows 7计算机上构建时,如何解决以下问题?
log4net:ERROR XmlConfiguratorAttribute:获取ConfigurationFileLocation的异常.必须能够在未设置ConfigFile和ConfigFileExtension属性时解析ConfigurationFileLocation.System.Security.SecurityException:请求类型为'System.Security.Permissions.FileIOPermission,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限失败.在System.Security.CodeAccessSecurityEngine.Check在System.Security.CodeAccessSecurityEngine.Check(对象的需求,StackCrawlMark&stackMark,布尔isPermSet)(的CodeAccessPermission帽,StackCrawlMark&stackMark)在System.AppDomainSetup.VerifyDir在System.Security.CodeAccessPermission.Demand()( log dir,Boolean normalize)at log4net.Util.SystemInfo.get_ConfigurationFileLocation()at log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(Assembly sourceAssembly,ILoggerRepository targetRepository)
失败的操作是:Demand失败的第一个权限的类型是:System.Security.Permissions.FileIOPermission失败的程序集区域是:Internet
未处理的异常:System.Security.SecurityException:尝试访问配置节'nant'时,ConfigurationPermission请求失败.要允许所有调用者访问此部分的数据,请在声明此部分的配置文件中将section属性'requirePermission'设置为等于'false'.---> System.Security.SecurityException:请求类型'System.Configuration.ConfigurationPermission,System.Configuration,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'的权限失败.在System.Security.CodeAccessSecurityEngine.Check在System.Security.CodeAccessSecurityEngine.Check(对象的需求,StackCrawlMark&stackMark,布尔isPermSet)(的CodeAccessPermission帽,StackCrawlMark&stackMark)在System.Configuration.BaseConfigurationRecord在System.Security.CodeAccessPermission.Demand(). CheckPermissionAllowed(String configKey,Boolean requirePermission,Boolean isTrustedWithoutAptca)---内部异常堆栈跟踪的结束---在System.Configuration.BaseConfigurationRecord.GetSectionRecursive的System.Configuration.BaseConfigurationRecord.CheckPermissionAllowed(String configKey,Boolean requirePermission,Boolean isTrustedWithoutAptca)处.串configKey,布尔getLkg,布尔的checkPermission,布尔getRuntimeObject,布尔requestIsHere,对象&结果,对象&resultRuntimeObject)在System.Configuration.BaseConfigurationRecord.GetSection(串configKey)在System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.位于NAnt.Console.ConsoleStub.Main(String [] args的NAnt.Console.ConsoleStub.Framework.GetRuntimeFramework()的System.Configuration.ConfigurationManager.GetSection(String sectionName)的GetSection(String sectionName)
(答案即将发布,张贴作为参考问题......)
我必须承认,我总是忘记Nant命名模式的语法内部(例如文件集中使用的那些).在我看来,双星号/单星号的东西似乎是非常容易忘记的.
有人可以提供命名模式的权威指南吗?
我们可以在没有Visual Studio 2012的情况下使用MSBuild吗?
目前,我们有一个构建服务器,我们正在编译和创建其中一个项目的部署副本,它已安装Visual Studio Professional Edition.我们现在正在建立一个新的构建服务器.我们真的需要在新的构建服务器上使用Visual Studio 2012吗?
如果是,那怎么样?我用谷歌搜索,但我找不到答案.
从WSDL生成某种人类可读文档的方法是什么?在过去,我使用过WSDL查看器(由Tomi Vanek提供)(请参阅我关于将其集成到NAnt的博客文章),我对结果感到满意,但我对任何可能的替代方案感兴趣.
我也听说过x3sp,但我还没试过.
我需要构建一个解决方案但排除一个项目.我该怎么办?我搜索了很多关于这个问题,但没有什么可以帮助.
ItemGroup部分引发以下异常:
元素无效.未知任务或数据类型.
PropertyGroup也崛起了例外.
以下是我的代码示例:
<project name="TI 8.1.6 build script">
<ItemGroup>
<Solution Include="${ROOT}\Core\TI Core.sln" Exclude="${ROOT}\Utilities\DTS Indexing Service\Tdi.Origami.IndexUpdaterServiceSetup\Tdi.Origami.IndexUpdaterServiceSetup.wixproj"/>
</ItemGroup>
...
</project>
Run Code Online (Sandbox Code Playgroud)
那么有人可以帮助我吗?
我正在使用MSBuild构建我的东西.我想通过Build Server使用CruiseControl.net.
现在,CCNET对nAnt进行了大量的讨论,但看起来ccnet可以通过项目配置和msbuild完成大部分工作.此外,nAnt似乎有点不受支持,Beta版本已经差不多一年了.
简而言之:我实际上对MSBuild非常满意(特别是因为它是"官方"编译器前端)并且对nAnt有点不舒服,但我不想过早判断.
使用nAnt而不是MSBuild会有什么理由?特别是ccnet,在功能方面似乎与nant重叠(并添加了自动构建相关的东西)
我目前使用nant,ccnet(巡航控制),svn,mbunit.我使用msbuild来做我的sln构建只是因为它更容易出壳.
将我的整个构建脚本切换到MSBuild有什么好处吗?我需要能够运行测试,watir样式测试,xcopy部署.这更容易吗?
更新:任何引人注目的功能会导致我从nant转移到msbuild?