这是我的代码:
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 :(得分:5)
您必须为此设置整个装配路径。 例如
gacutil /i D:/someassembly
其余的代码看起来很好。只需使用整个装配路径而不仅仅是装配名称。
答案 1 :(得分:2)
使用GacInstall()
类中的Publish
方法轻松地对程序集进行GAC。
添加对System.EnterpriseServices
的引用。请确保特定的dll为Signed。只有签名的程序集才能添加到GAC。
private void Register(String assemblyName)
{
Publish publish = new Publish();
publish.GacInstall(assemblyName);
}
答案 2 :(得分:1)
您需要将流程的工作目录设置为当前工作目录或发送.dll的完整路径