【发布时间】:2015-01-02 15:05:46
【问题描述】:
我需要注册第 3 方 dll,然后将其用作 navision 中的自动化变量。 我通过 regasm "path/to/dll" 注册了它。我可以在子类型窗口中看到这个库并选择它作为变量。当我尝试运行应该运行代码的按钮时,发生运行时异常。听起来像:“无法创建由 {DF5505B6-7551-424C-B4F6-CBE380C60DB1}1.3{GUID FROM MY ASSEMBLY.CS}:NavisionInterface.CurrencyHelper 识别的 OLE 共振峰或自动化服务器。检查您的 OLE 共振峰或自动化服务器已正确安装或注册。这就是我的代码的样子:
[Guid("DC9690B5-BB82-42A1-8C64-AF3E2CA38FD6")]
public interface NavisionHelper
{
double GetCurrency(string code, string year, string month, string day);
void MakeFilesActualization();
}
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.None)]
public class CurrencyHelper : NavisionHelper
{
public CurrencyHelper() { }
[ComVisible(true)]
public double GetCurrency(string code, string year, string month, string day)
{
var dbOp = new DatabaseOperations();
return dbOp.getCurrency(code, year, month, day);
}
[ComVisible(true)]
public void MakeFilesActualization()
{
NBP nbp = new NBP();
DatabaseOperations db = new DatabaseOperations();
var existingTableNames = db.GetTableNames();
nbp.DownloadData(existingTableNames, curr => db.AddCurrencyData(curr));
}
}
这就是我尝试在 navsion 2009 中运行的方式:
IF( ISCLEAR(obj)) THEN
CREATE(obj,TRUE,TRUE);
obj.MakeFilesActualization();
CLEAR(obj);
【问题讨论】:
-
可能是您的自动化服务器无法找到它的一个或多个依赖项?
标签: c# dll microsoft-dynamics navision