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

时间:2011-01-05 21:11:51

标签: .net fitnesse fitsharp

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

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

variable defined: TEST_RUNNER=fitSharp\RunnerW.exe 
variable defined: COMMAND_PATTERN=%m -r fitnesse.fitserver.FitServer,fitSharp\fit.dll %p 

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

  

无法加载文件或程序集   '文件:/// C:\ FitNesse的\ fitSharp \ fit.dll'   或其中一个依赖项。手术   不受支持。 (例外   HRESULT:0x80131515)文件名:   '文件:/// 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>

所以看起来我有三种可能性。是吗:

  1. 我可以插入该配置部分的app.config或等效文件吗?
  2. 一种阻止fitnesse认为我的本地文件位于远程路径上的方法吗?
  3. 为.NET框架启用CAS策略的方法吗?
  4. 建议将不胜感激!

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

3 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:3)

我以前从未见过这个!为什么认为C:是一个“危险”的网络位置?无论如何,可执行文件是Runner.exe(或RunnerW.exe),所以如果你用上面的设置创建一个Runner.exe.config,它应该把它拿起来。

答案 2 :(得分:0)

访问此页面

http://oweng.net/Visual-Studio-2010/Coded-UI-Fitnesse/integrating-coded-ui-and-fitnesse-fitsharp-slim-1.aspx

我遇到了类似的问题但在访问tjis页面后得到了解决。