如何以编程方式获取TargetPath + GacUtil注册

时间:2013-03-18 07:16:00

标签: c# biztalk gac gacutil

我需要什么?我写了一些BizTalk Functoid和BizTalk管道组件。但在将它们用于映射(Functoid)或管道(管道组件)之前,您需要将其复制到特定文件夹。

将其复制到该文件夹​​不是问题。我遇到的问题是获得目标路径。 我写了一个插件。所以你可以点击一个菜单项。您还选择了functoid的项目。所以当你现在点击菜单项时。它应该获取该程序集的targetPath。它需要将“dll”文件复制到我的其他文件夹。

我如何以编程方式获得“TargetFolder”?

另外,我如何将程序集注册到GAC?在batfile中我使用

“gacutil / i'汇编路径'/ f”

使用/ f参数强制覆盖程序集。在c#中你不能强迫它。您是否需要先尝试删除程序集并将其注册到GAC?

3 个答案:

答案 0 :(得分:0)

尝试从以下C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin复制适当的Gacutil.exe和Gacutil.exe.config 并将它们放在.bat文件夹中。

并以编程方式:

参考:

http://blogs.msdn.com/b/helloworld/archive/2008/09/22/how-to-install-assemblies-to-the-gac-programmatically.aspx

希望这有助于

谢谢, Nihar Malali

答案 1 :(得分:0)

自定义管道组件

需要将自定义BizTalk管道组件部署到C:\ Program Files(x86)\ Microsoft BizTalk Server 2010 \ Pipeline Components \目录,以便它们可以从管道工具箱在Visual Studio中使用。

但是,要将自定义管道组件放入工具箱,您必须跳过几个额外的环。您需要右键单击工具箱上的任意位置并选择“选择项目” - 这将加载“选择工具箱项”。导航到“BizTalk管道组件”,只要您已实现必要的组件接口,就应该看到此处列出的自定义组件(请参见下面的屏幕截图)。勾选对应于组件的复选框,然后选择“确定”。您的自定义组件现在将显示在“工具箱”中。如果将组件拖到Visual Studio中的“接收”或“发送管道”上,将在相关项目中创建对程序集的引用。

Add BizTalk Custom Pipeline Components and Mapper Functoids Dialog

您需要GAC自定义管道组件程序集,但这只是通过Windows资源管理器拖放到GAC中的问题。您可能还想查看http://msdn.microsoft.com/en-us/library/aa578035.aspx,其中有一些关于BizTalk部署选项的详细信息,包括GAC-ing程序集。

自定义Mapper Funtoids

自定义Functoid以类似的方式使用 - 按照上面的说明将组件添加到工具箱,但选择“BizTalk Mapper Funtoids”。您还需要GAC组装。

答案 2 :(得分:0)

我通过首先检查GAC中是否存在程序集来解决问题。 :)