2013-09-02 2 views
1

Это мой код:Как добавить DLL в GAC

Register(Assembly.GetExecutingAssembly()).Location); 

private void Register(String assemblyName) 
{ 
    System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo("D://gacutil.exe", string.Format("/i {0}", assemblyName)); 
    processStartInfo.UseShellExecute = false; 
    System.Diagnostics.Process process= System.Diagnostics.Process.Start(processStartInfo); 
    process.WaitForExit(); 
} 

Как добавить DLL к сборочной папке?

+0

Ваш код выглядит хорошо. Какая ошибка? – Anand

+0

'gacutil.exe' существует в' D'? –

+0

я проверяю папку assemply, но новый файл dll не exsists –

ответ

2

MSDN Publish.GacInstall

GacInstall() Используйте метод в Publish класса в GAC сборку легко. Добавить ссылку на System.EnterpriseServices. Убедитесь, что определенная dll - Signed. В GAC можно добавить только подписанную сборку.

private void Register(String assemblyName) 
    { 
     Publish publish = new Publish(); 
     publish.GacInstall(assemblyName); 
    } 
+0

Я использую этот код, он работает, но я не могу найти созданный файл dll –

+0

@IslamIbrahim, что вы подразумеваете под созданным dll-файл? вы имели в виду, что не могли увидеть DLL в папке GAC? – Kurubaran

+0

Я хочу, чтобы моя dll отображалась при добавлении ссылки в любой проект с помощью .Net Component List –

1

Вам нужно либо установить рабочий каталог Teh процесса текущего рабочего каталога или отправить полный путь .dll

5

Вы должны поместить весь путь сборки для этой работы. Например

gacutil /i D:/someassembly 

Остальной ваш код выглядит нормально. Просто используйте весь путь сборки, а не просто имя сборки.