Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以编程方式获取TargetPath+GacUtil注册_C#_Biztalk_Gac_Gacutil - Fatal编程技术网

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

C# 如何以编程方式获取TargetPath+GacUtil注册,c#,biztalk,gac,gacutil,C#,Biztalk,Gac,Gacutil,我需要什么?我编写了一些BizTalk Functoid和BizTalk管道组件。但在映射Functoid或管道组件中使用它们之前,需要将其复制到特定文件夹 将其复制到文件夹不是问题。我的问题是获得目标路径。 我写了一篇addin。因此,您可以单击菜单项。您还选择了functoid的项目。因此,当您现在单击菜单项时。它应该获取该程序集的targetPath。它需要将dll文件复制到我的其他文件夹 如何以编程方式获取TargetFolder 另外,如何向GAC注册程序集?在我使用的文件中 gacu

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

将其复制到文件夹不是问题。我的问题是获得目标路径。 我写了一篇addin。因此,您可以单击菜单项。您还选择了functoid的项目。因此,当您现在单击菜单项时。它应该获取该程序集的targetPath。它需要将dll文件复制到我的其他文件夹

如何以编程方式获取TargetFolder

另外,如何向GAC注册程序集?在我使用的文件中

gacutil/i“程序集路径”/f


使用/f参数,我们强制覆盖程序集。在c语言中,你不能强制这样做。然后是否需要先尝试删除程序集并将其注册到GAC?

尝试从以下C:\Program Files x86\Microsoft SDK\Windows\v7.0A\Bin复制相应的Gacutil.exe和Gacutil.exe.config 然后将它们放在.bat文件夹中

并以编程方式:

请参阅:

希望这有帮助

谢谢, 尼哈尔-马拉利

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

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

您将需要GAC自定义管道组件程序集,不过这只是通过Windows资源管理器拖放到GAC中的问题。您可能还想查看关于BizTalk部署选项(包括GAC和ing程序集)的详细信息

自定义映射器functoids
自定义functoid的使用方式与此类似-请按照上面的说明将组件添加到工具箱,但选择“BizTalk映射器Functoids”。您还需要GAC程序集。

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

你好,尼克,我知道你需要把它复制到那个文件夹,但这不是问题所在。我现在使用带有参数targetPath的bat文件将其从targetPath复制到该文件夹。我现在正在写一个VS addin。但是我需要所选项目的targetPath,这样我就知道需要将哪个dll复制到正确的文件夹。我不完全清楚为什么需要获取目标路径或编写外接程序。您能更详细地解释一下您想要实现的目标吗?我们现在在VS中编写一些管道组件/functoid。我们在“外部工具”菜单中添加了一个bat文件。在该bat文件中,我们将组件/functoid复制到您需要它处理VS的文件夹中。我们现在将targetPath作为参数,因此我们现在需要将哪个dll复制到目标文件夹。但是现在我们需要在每个开发系统上复制bat文件,还需要将其添加到外部工具中。我现在写一些插件,可以复制dll到文件夹中,并在GAC中注册它。但是我需要targetPath,这样我就知道我需要复制到目标文件夹的dll,这不是我需要的。c发布中有一个函数。但您没有强制覆盖dll的参数。所以我的问题是,你需要先删除dll吗?如果dll不存在怎么办?