パッケージ開発担当のよみです。

先日ムーミンカフェに行ってきました、ムーミンのキャラクターのぬいぐるみと
一緒に食事が出来るサービスがあると聞いて、ぜひ行ってみたい!と一人で行ってきました。
私のテーブルにはムーミンパパが来てくれたので、きっと昔の冒険活劇を聞かせてくれているんだろうなぁと
妄想しながら食事をしました。
とにかく店員さんのテンションが高くて、「あなたとお話したいそうなのですが、よろしいですか?」と
ムーミンのキャラクター達を定期的に交代させてくれて、かなり楽しく過ごせました。

IMG_0230

さてNAntを使用する機会があったので導入して、
動くかどうか「nant -help」で確認すると以下のようなエラーを出してNAntが強制終了されてしまいました。。。


log4net:ERROR XmlConfiguratorAttribute: Exception getting ConfigurationFileLocat
ion. Must be able to resolve ConfigurationFileLocation when ConfigFile and Confi
gFileExtension properties are not set.
System.Security.SecurityException: 型 'System.Security.Permissions.FileIOPermiss
ion, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
' のアクセス許可の要求に失敗しました。
   場所 System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawl
Mark& stackMark, Boolean isPermSet)
   場所 System.Security.CodeAccessPermission.Demand()
   場所 System.AppDomainSetup.VerifyDir(String dir, Boolean normalize)
   場所 log4net.Util.SystemInfo.get_ConfigurationFileLocation()
   場所 log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(Assembly sourc
eAssembly, ILoggerRepository targetRepository)
失敗した操作:
Demand
失敗した最初のアクセス許可の種類:
System.Security.Permissions.FileIOPermission
失敗したアセンブリのゾーン:
Internet

ハンドルされていない例外: System.Security.SecurityException: 構成セクション 'nan
t' にアクセスしているときに、ConfigurationPermission の要求に失敗しました。すべ
ての呼び出し元がこのセクションのデータにアクセスすることを許可するには、このセク
ションが宣言された構成ファイルで、セクション属性の 'requirePermission' を 'false
' に設定してください。 ---> System.Security.SecurityException: 型 'System.Config
uration.ConfigurationPermission, System.Configuration, Version=4.0.0.0, Culture=
neutral, PublicKeyToken=b03f5f7f11d50a3a' のアクセス許可の要求に失敗しました。
   場所 System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawl
Mark& stackMark, Boolean isPermSet)
   場所 System.Security.CodeAccessPermission.Demand()
   場所 System.Configuration.BaseConfigurationRecord.CheckPermissionAllowed(Stri
ng configKey, Boolean requirePermission, Boolean isTrustedWithoutAptca)
   --- 内部例外スタック トレースの終わり ---
   場所 System.Configuration.BaseConfigurationRecord.CheckPermissionAllowed(Stri
ng configKey, Boolean requirePermission, Boolean isTrustedWithoutAptca)
   場所 System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String
configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Bo
olean requestIsHere, Object& result, Object& resultRuntimeObject)
   場所 System.Configuration.BaseConfigurationRecord.GetSection(String configKey
)
   場所 NAnt.Console.ConsoleStub.Framework.GetRuntimeFramework()
   場所 NAnt.Console.ConsoleStub.Main(String[] args)

調べてみるとどうやらWindows7のセキュリティが問題だったようです。
「http://surfjungle.blogspot.jp/2011/11/tip-running-nant-091-on-windows-7.html」

ダウンロードした「nant-0.○○-bin.zip」ファイルを解凍する前にプロパティを開き、
「全般(一般)」の下の方にある「ブロックの解除」を行う必要があるみたいです。
知っている方には当たり前のことなのかもしれないですが、分からなかったので自分へのメモとして残しておこうと思います。。。
NAnt