在GAC中注册dll

时间:2014-10-15 17:03:38

标签: c# .net ssis

当我尝试执行具有脚本任务的SSIS包时,会出现异常错误。控件不会仅进入Main()函数并抛出错误。以下是错误详情..

Exception has been thrown by the target of an invocation.
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
   at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

当我探索时,我发现我们需要注册在GAC中引用的dll。但是当我尝试使用命令行执行此操作时,也会出现无效的命令错误。使用2个以下命令进行注册。请让我知道如何解决此问题。我需要用什么命令来注册dll。我正在使用.Net 4.0框架。

gacutil -i Microsoft.TeamFoundation.dll

gacutil.exec /l "Microsoft.TeamFoundation.dll"

1 个答案:

答案 0 :(得分:0)

由于您收到invalid command errors,这意味着您没有在Framework SDK下执行此命令。你需要按照这个来执行。

GacUtil是Framework SDK 4.0版本的一部分(仅用于您的目的,我在这里使用过v 4)位于C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319  只需设置一个批处理文件,如:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\gacutil -i <DLL_Path>
PAUSE 'Any key to finish'

或者只是执行此C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\gacutil -i <DLL_Path>