可能看起来像一个愚蠢/疯狂的事情。但是,如果让我的项目独立于第三方安装,我会让生活更轻松。
我需要的引用程序集是Microsoft.Research.Science.Data
。有关详细信息,请参阅"SDS: Scientific DataSet library and tools"。
所以我下载安装程序并运行它。现在程序集出现在我的c#项目中,我可以引用它。好。我使代码工作,现在我能够读取NetCDF文件。
现在我想尝试使代码独立于第三方安装程序,因为我的项目是由多个用户/机器等使用和调试的。如果我能够,我将更容易维护获取所有可移植的dll并将它们放入项目的\ lib中。
第一步:我从集会中获得了dll。
11/06/2010 19:33 52.224 Microsoft.Research.Science.Data.CSV.dll
11/06/2010 19:33 46.572 Microsoft.Research.Science.Data.CSV.XML
11/06/2010 19:33 196.096 Microsoft.Research.Science.Data.dll
11/06/2010 19:33 18.944 Microsoft.Research.Science.Data.Imperative.dll
11/06/2010 19:33 60.635 Microsoft.Research.Science.Data.Imperative.XML
11/06/2010 19:33 11.776 Microsoft.Research.Science.Data.Memory.dll
11/06/2010 19:33 9.388 Microsoft.Research.Science.Data.Memory.XML
11/06/2010 19:33 528.210 Microsoft.Research.Science.Data.XML
我将它们导入到项目中。没有编译错误......很好。我运行代码来测试它,尝试将.nc文件加载到DataSet结构中......
"Failed to create DataSet instance from uri C:\testFile.nc: Extension .nc is not registered in the factory"
好的,我深入挖掘这个netcdf dll可能隐藏的位置。我看到GAC引用了它(一个在GAC_32中,另一个在GAC_64中)。我得到了两个dll' s。我将它们导入到项目中......
A reference to the "....dll" could not be added.Please make sure that the file is accessible and that it is a valid assembly or COM component.
因为我不知道我到底在做什么,所以我只是在尝试看似可行的事情。
我尝试在执行期间将dll放在二进制目录中。同样的例外。
所以现在我完全陷入了困境,但与此同时,我感觉自己并没有那么远。有任何想法吗?或者就像在大海捞针一样?