Fitnesse - .NET 4的标准fitSharp配置问题

Mic*_*ens 8 .net fitnesse fitsharp

我已经使用Fitnesse.NET一段时间了,现在我正在尝试升级到更新的fitSharp引擎.我立刻遇到了障碍.从一个新系统开始,我下载了最新的fitnesse.jar并执行/安装它; 我的所有测试页面都在浏览器中显示正常.

当我将fitSharp的配置添加到根页面时,会出现此问题.我尝试了各种设置TEST_RUNNER和COMMAND_PATTERN的组合; 最终结果始终是,在执行任何测试时,fitnesse服务器从未将结果返回给我的浏览器.这里的参考是我的根内容,确认这些变量定义存在且正确,至少根据fitSharp 配置页面:

variable defined: TEST_RUNNER=fitSharp\RunnerW.exe 
variable defined: COMMAND_PATTERN=%m -r fitnesse.fitserver.FitServer,fitSharp\fit.dll %p 
Run Code Online (Sandbox Code Playgroud)

我终于找到一个故障排除说明,提到RunnerW提供了一些诊断信息,所以我切换到它并收到此错误消息,表明它显然是由于.NET 4引起的问题:

无法加载文件或程序集'file:/// C:\ fitnesse\fitSharp\fit.dll'或其依赖项之一.不支持操作.(来自HRESULT的异常:0x80131515)文件名:'file:/// c:\ fitnesse\fitsharp\fit.dll'---> System.NotSupportedException:尝试从网络位置加载程序集导致程序集在以前版本的.NET Framework中被沙箱化.此版本的.NET Framework默认情况下不启用CAS策略,因此此负载可能很危险.如果此负载不是用于沙盒装配,请启用loadFromRemoteSources开关.有关 详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=155569.

引用的MSDN页面说我在配置文件中需要这个:

<configuration>
   <runtime>
      <loadFromRemoteSources enabled="true"/>
   </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

所以看起来我有三种可能性.在那儿:

  1. app.config或等效的地方,我可以插入该配置部分?
  2. 一种阻止fitnesse认为我的本地文件在远程路径上的方法?
  3. 一种为.NET框架启用CAS策略的方法?

建议将不胜感激!

2010.01.17编辑:我在我的环境中使用的是fit协议而不是slim协议.

tim*_*ham 10

我知道这已经得到了解答但是,imho有一个更好的解决方案.如果你'解锁'fit.dll(右键单击 - >属性 - >取消阻止),你将不会收到错误.由于下载的文件默认被锁定而发生.


Mik*_*ale 3

我以前从未见过!为什么它认为 C: 是“危险”网络位置?无论如何,可执行文件是 Runner.exe(或 RunnerW.exe),因此如果您使用上述设置创建 Runner.exe.config,它应该会选择它。