我在SO上找不到这个确切的问题,唯一的解决方案是解锁文件。在我的场景中,整个nant目录被解除阻塞(使用PS),但我仍然得到以下异常:
Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.MissingMethodException: Method not found: 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object, System.Object'.
at NAnt.Core.ConsoleDriver.Main(String[] args)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at NAnt.Console.ConsoleStub.HelperArguments.CallConsoleRunner()
at NAnt.Console.ConsoleStub.Main(String[] args)
要提几件事:
1)我在本地机器上从GITHub项目的HEAD修订版(https://github.com/nant/nant)编译了这个.exe,并遇到Nant failing with bad permissions on build server中描述的相同“解锁”问题,我使用了streams.exe回答用于解锁我本地计算机上的整个nant目录。
2)我在Win2k12实例上安装了.NET 4.5运行时。当我在本地机器上构建exe时(如第1点所述),我使用了GitHub自述文件中建议的nmake命令:
nmake -f Makefile.nmake install prefix="c:\Program Files" TARGET=net-4.0
具体来说,我将TARGET参数保留为“net-4.0”。我不确定这是否重要,因为我在Wink2k12服务器上运行的是较新的版本。
非常感谢任何帮助!!
答案 0 :(得分:1)
好的,所以我修复了我的问题,不是从源代码构建并从sourceforge(http://nant.sourceforge.net/)下载最新发布的zip并执行以下操作:
1)从sourceforge下载“nant-0.92-bin.zip”发行版
2)将zip复制到服务器
3)右键单击zip,单击底部“常规”选项卡下的“取消阻止”按钮(如果不存在,则不会被阻止)
4)zip的提取内容
执行这些步骤后,nant.exe程序运行时仍然没有问题。我不确定这是否可以被认为是一个重复的问题,因为另一个似乎更倾向于nunit2report contrib工具。希望这有助于其他人!