我正在爲Navision 2009 SP1(經典客戶端)開發一個報告,其中需要額外的功能在NAV中不可用。Navision C/AL用C#創建錯誤DLL dl
我已經在C#中創建了一個COM DLL,安裝它(使用InstallShield「免費」vs版本)並在NAV中創建了一個自動化變量。類和接口是可見的,我看到Print方法,但是當我嘗試創建變量時,出現以下錯誤:
「無法創建由...標識的OLE控件或自動化服務器的實例...檢查OLE控件或自動化服務器是否已正確安裝並註冊。「
這是代碼(只是想獲得一個連接會):
[ComVisible(true), Guid("080a97fb-321c-4a2f-b948-dd52ce263415"), InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IPrinterTest
{
[DispId(1)]
bool Print(string test, string bytesInStringRepresentation);
}
[ClassInterface(ClassInterfaceType.None), ComVisible(true), Guid("8d7b85a9-1a20-4ea0-a7d4-decf26632eee"), ProgId("Printer.PrinterTest")]
public class PrinterTest : IPrinterTest
{
public PrinterTest()
{
}
public bool Print(string test, string bytesInStringRepresentation)
{
return true;
}
}
生產環境只有.NET Framework Client Profile受(3.5和4.0),這意味着Regasm可用(在4.0 )而且gacutil不是。
我假設我的代碼有問題,而不是InstallShield,因爲dll可以在Navision中進行選擇,並且當我嘗試創建導航自動化變量時出現此問題。
問候 馬庫斯
我不明白在這裏投下的投票文化,我真的不知道。如果您覺得我的問題不能令人滿意,爲何不在評論中告訴我爲什麼?如果你不讓我知道我做錯了什麼,我無法改善。 – Starwop
錯誤發生在'CREATE(NameAutomationVariable)'行中? –
是的,當我做「CREATE(NameAutomationVariable)」時發生錯誤。如果我使用CREATE的結果,它總是返回false。 – Starwop