2015-01-02 3 views
0

제 3 자 dll을 등록한 다음이를 navision의 자동화 변수로 사용해야합니다. regasm "path/to/dll"에 의해 등록되었습니다. 하위 유형 창에서이 라이브러리를 볼 수 있으며이를 변수로 선택했습니다. 코드를 실행해야하는 버튼을 실행하려고하면 런타임 예외가 발생합니다. "{DF5505B6-7551-424C-B4F6-CBE380C60DB1} 1.3 {GUID FROM MY ASSEMBLY.CS} : NavisionInterface.CurrencyHelper로 식별되는 OLE formant 또는 자동화 서버를 만들 수 없습니다. OLEformant 또는 자동화 . 서버가 제대로 설치 또는 등록이 내 코드는 모습입니다 같은 :자동화 변수를 인스턴스화 할 수 없습니다.

[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); 
+0

자동화 서버가 하나 이상의 종속성을 찾을 수 없습니까? –

답변

0

어쩌면 응용 프로그램이 알 수 없습니다 귀하의 dll 파일을 찾으십시오./reactbase를 사용하는 경우/codebase 옵션을 사용하십시오.

+0

/codebase 옵션을 정당화 할 수있는 몇 가지 문서를 가리킬 수 있습니까? – kamaradclimber

+1

은 msdn의 문서입니다. https://msdn.microsoft.com/en-us/library/tzat5yw6(v=vs.110).aspx 이미 모든 사람이 찾았습니다. 하지만 다른 날에 나는 방금 같은 문제가 발생했다. 시나리오는 dll (my exemple : MS NAV 5)을 사용하는 응용 프로그램은 현재 폴더에서 실행 파일의 위치 만 검색했다. 거기에 dll을 넣지 않으면 코드베이스를 사용하여 dll의 절대 경로를 지정해야합니다. –

관련 문제