我尝试为RegioGraph(regiograph.de)写一个makro。我几乎不了解.NET。 RegioGraph有一个描述API本身的帮助文件,但是关于如何使用它的信息非常有限。我发现的唯一有用的参考是C#中的这个示例:http://www.cgo.se/wordpress/2010/10/14/regiograph-api/。
根据评论提出建议后更新2013-12-11:
我发现RegioGraph程序集是.NET 2.0,所以我安装了相应的IronPython-2.6.2-Net20.msi:http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=ironpython&DownloadId=159513&FileTime=129321579152370000&Build=20841
我想获得一个Application对象:
IronPython 2.6.2 (2.6.10920.0) on .NET 2.0.50727.7905
Type "help", "copyright", "credits" or "license" for more information.
>>> import clr
>>> clr.AddReferenceToFileAndPath('C:/Program Files/GfK GeoMarketing/RegioGraph Planung 11/GfK.GeoMarketing.Api.dll')
>>> import GfK.GeoMarketing.Api
>>> app = GfK.GeoMarketing.Api.RegioApplication()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 2] Die Datei oder Assembly "GfK.GeoMarketing.Api, Version=11.0.0.96, Culture=neutral, PublicKeyToken=49e059cfaef07841" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.
使用Fusion协议进行检查表明仅在全局程序集缓存(GAC)和IronPython程序文件夹中搜索程序集。因此,解决方法是将GfK * .dll复制到C:/ Program Files / IronPython 2.6 /.
当我安装Visual Studio Express 2013桌面时,我得到了这个简短的C#程序:
using GfK.GeoMarketing.Api;
class RGStart
{
static void Main()
{
RegioApplication application = new RegioApplication();
}
}
我必须遵循这些步骤(尝试翻译德语术语):
答案 0 :(得分:0)
先决条件:工具gacutil.exe来自Microsofts“NETFX 4.5.1 Tools”; fuslogvw.exe和ildasm.exe也可能有用。这些是Windows SDK的一部分,我认为它是“Visual Studio Express 2013 for Windows Desktop”安装的一部分。
将RegioGraph API程序集添加到全局程序集缓存(GAC):
gacutil /i C:\Program Files\GfK GeoMarketing\RegioGraph Planung 11\GfK.GeoMarketing.Api.dll
同样至少为.Shared,.Interfaces,.ManagedBackend,.LowLevelBackend,.Projections。最好将所有GfK。*。dll安装到GAC中。
在IronPython控制台中使用以下命令:
import clr clr.AddReference('GfK.GeoMarketing.Api') import GfK.GeoMarketing.Api app = GfK.GeoMarketing.Api.RegioApplication() proj = app.OpenProject('path\\to\\.gfk\\file') # ... yeah, got it! ...
在Visual Studio中尝试使用C#,RegioGraph API似乎与.NET 2.0绑定。但是,此指令适用于当前的IronPython(.NET 4.0上的2.7.4)以及古老的.NET 2.0-IronPython。