windows-7 - 如何解决 Nant 0.91 的配置错误?

下载 Nant 0.91 后,我收到了一些与配置或安全相关的相当神秘的配置错误(见下文)。

我正在尝试将我的 Nant 可执行文件从 0.86 升级到 0.91。

在 Windows 7 机器上构建时如何解决以下问题?

log4net:ERROR XmlConfiguratorAttribute: Exception getting ConfigurationFileLocation. Must be able to resolve ConfigurationFileLocation when ConfigFile and ConfigFileExtension properties are not set. System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark) at System.Security.CodeAccessPermission.Demand() at System.AppDomainSetup.VerifyDir(String dir, Boolean normalize) at log4net.Util.SystemInfo.get_ConfigurationFileLocation() at log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(Assembly sourceAssembly, ILoggerRepository targetRepository)

The action that failed was: Demand The type of the first permission that failed was: System.Security.Permissions.FileIOPermission The Zone of the assembly that failed was: Internet

Unhandled Exception: System.Security.SecurityException: Request for ConfigurationPermission failed while attempting to access configuration section 'nant'. To allow all callers to access the data for this section, set section attribute 'requirePermission' equal 'false' in the configuration file where this section is declared. ---> System.Security.SecurityException: Request for the permission of type 'System.Configuration.ConfigurationPermission, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' failed. at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark) at System.Security.CodeAccessPermission.Demand() at System.Configuration.BaseConfigurationRecord.CheckPermissionAllowed(String configKey, Boolean requirePermission, Boolean isTrustedWithoutAptca) --- End of inner exception stack trace --- at System.Configuration.BaseConfigurationRecord.CheckPermissionAllowed(String configKey, Boolean requirePermission, Boolean isTrustedWithoutAptca) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSection(String configKey) at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName) at System.Configuration.ConfigurationManager.GetSection(String sectionName) at NAnt.Console.ConsoleStub.Framework.GetRuntimeFramework() at NAnt.Console.ConsoleStub.Main(String[] args

(答案即将发布,作为问题发布以供引用......)

最佳答案

奇怪的是,这与如何从 Nant 0.91 存档中提取可执行文件有关。 (在我真正尝试之前,这对我来说毫无意义,但它确实有效......)

来源:http://surfjungle.blogspot.com/2011/11/tip-running-nant-091-on-windows-7.html

I found that the problem was Windows 7 security related in that the downloaded NAnt 0.91 zip file needed additional security related configuration to be performed: before extracting, one must right click on the zip file, select Properties and under the General tab, click the button labelled Unblock, then click OK on the Properties window. Now, extract the file to your desired location, ensure it is on the system path, open a new command line and NAnt should run successfully.

https://stackoverflow.com/questions/8605122/

相关文章:

build - 使用 msbuild 指定解决方案的项目文件

git - sbt 如何从 git 中提取依赖项?

xcode4 - Xcode 4 在哪里存储方案数据?

.net - 如何识别 DLL 是 Debug 还是 Release 构建(在 .NET 中)

.net - NuGet 自动包还原不适用于 MSBuild

visual-studio - Visual Studio 2015 项目构建失败但没有错误

xcode - iOS5 Storyboard错误 : Storyboards are unavai

maven - Javascript Web 应用程序和 Java 服务器,全部在 Maven 中构

c# - 调试未启动

android - 任务 'app:mergeDebugResources' Crunching C