单元测试ScriptSharp项目中的c#代码

时间:2011-11-12 13:52:40

标签: c# nunit script#

我正在使用ScriptSharp创建一个RIA应用程序。 除了一些奇怪的东西之外,它还能很好用。

然而,使用Firebug查找和修复问题并不是很方便。

由于scriptsharp也提供了一个Dll,我希望使用一个单独的测试项目,使用Nunit来测试我的代码的某些部分。

出现的问题是生成的dll引用了mscorlib 0.7,导致与测试项目中的mscorlib 4冲突。

一个简单的解决方案是创建第二个普通的C#项目并复制代码文件。但是使用相同的代码库维护2个项目...

好奇是否还有其他方法可以做到这一点。任何人

编辑: Christian Dalager提出的解决方案是有效的。

小问题是ScriptSharp在mscorlib中重新定义了System.Diagnostics。没有Debug.Assert / Writeline。但现在几乎不再需要它了。

1 个答案:

答案 0 :(得分:3)

您可以尝试使用assembly binding redirects

您可以在testproject的app.config中输入类似的内容。 没有测试过这种特殊配置,因此您需要对其进行调整。

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
     <dependentAssembly>
        <assemblyIdentity name="mscorlib" publicKeyToken="b77a5c561934e089" culture="neutral"/>
        <bindingRedirect oldVersion="0.7.0.0" newVersion="4.0.0.0"/>
     </dependentAssembly>
    </assemblyBinding>
</runtime>