在fitnesse装置中动态加载dll
我正在尝试针对接口(在 c# 中)编写 FitNesse 固定装置。 我希望能够让夹具从 dll 动态加载实现(这样我就可以对同一接口的不同实现使用相同的测试……即模拟数据、实时数据等)。 我的装置中有一个 init 方法,它需要 2 个字符串、一个类名和一个 dll 名称。 我在方法中调用 Assembly.LoadFrom(dllname) 。 我在该调用中收到以下错误:“URL 上的目录无效”。
有任何想法吗? 听起来 dll 名称在翻译中不知何故被破坏了......
表格如下所示: |从 Dll 初始化提供程序|SlmLicenseDataErrorProvider|TestModelProvider.dll|
预先感谢...-
罗伯特
I'm trying to write a FitNesse fixture against an interface (in c#). I want to be able to have the fixture dynamically load the implementation from a dll (so that I can use the same tests against different implementations of the same interface...i.e. mock data, live data, etc.). I have a init method in my fixture that takes 2 strings, a class name and a dll name. I call Assembly.LoadFrom(dllname) in the method. I get the following error with that call: "Invalid Directory on URL".
Any ideas? It sounds like the dll name is getting mangled somehow in the translation...
The table looks like this:
|Init Provider From Dll|SlmLicenseDataErrorProvider|TestModelProvider.dll|
Thanks in advance...
-Robert
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能需要在某处添加 !path 以指向程序集的位置。 默认情况下,Fitnesse.Net(或 FitSharp,或现在的任何东西)通常将其工作目录默认为 FitServer.exe 可执行文件(或 SlimServer.exe 或现在的任何东西)的位置。 如果您的程序集不在该目录中,或者在默认程序集搜索路径或 GAC 中,那么fitnesse可能根本找不到它?
You may want to add a !path somewhere to point to the location of your assemblies. By default Fitnesse.Net (or FitSharp, or whatever it is these days) usually defaults its working directory to the location of the FitServer.exe executable (or SlimServer.exe or whatever it is these days). If your assembly isn't in that directory, or in the default assembly search paths or the GAC then fitnesse may simply not be finding it?