InteropForms Toolkit 2.1可以与Visual Studio 2012一起使用吗?

时间:2013-02-10 19:38:57

标签: visual-studio vb6 interop vb6-migration winforms-interop

我有一个VB6项目,我想最终升级到其他东西。为此,我想开始使用InteropForms Toolkit 2.1,但该页面指出安装程序仅适用于VS2008和VS2010。

有没有办法在VS2012中使用该工具包?如果是这样,有人有成功吗?

4 个答案:

答案 0 :(得分:1)

使Interop Toolkit 2.1与Visual Studio 2012一起使用的步骤(修改之前的响应)

  1. 修改以下文件夹中的InteropFormProxyGenerator.AddIn文件:C:\Program Files (x86)\Microsoft Visual Basic Power Packs\Interop Forms Toolkit 2.1\Setup\User

  2. 添加以下内容:

    <HostApplication> <Name>Microsoft Visual Studio</Name> <Version>11.0</Version> </HostApplication>

  3. 将文件复制到Documents\Visual Studio 2012\Addins文件夹

  4. Documents\Visual Studio 2010\Templates\ItemTemplates\Visual Basic\*.*复制(合并)到Documents\Visual Studio 2012\Templates\ItemTemplates\Visual Basic\

    复制(合并)Documents\Visual Studio 2010\Templates\ProjectTemplates\Visual Basic\Windows\*.*Documents\Visual Studio 2012\Templates\ProjectTemplates\Visual Basic\Windows

  5. 注意:文档可能是MyDocuments

答案 1 :(得分:0)

我在VS 2010中试过它并且它有效。它需要Net 2.0,而我们在Net 4.x中进行开发。为了避免兼容性和部署问题,我们放弃了InteropForms Toolkit。当你只想使用混合的VB6和Net4表格时,我发现你真的不需要它。对于用户控制,它可能是另一回事,但我们不会在术中使用它们:-)

答案 2 :(得分:0)

Interop表单工具包适用于VS2010,而不适用于VS2012。

我已经安装了VS2010和VS2012 包含在VS2010中创建的互操作用户控件的项目,可以在VS2012中使用和修改 为了在现有项目中添加新控件,我使用vs2012,我正在复制/粘贴旧控件并更改用于com注册的GUID。

但也许某人有更好的解决方案。

答案 3 :(得分:-1)

使Documents\Visual Studio 2010\Templates\ItemTemplates\Visual Basic\*.*与Visual Studio 2012协同工作的步骤

  1. 修改以下文件夹中的“InteropFormProxyGenerator.AddIn”文件: C:\ Program Files(x86)\ Microsoft Visual Basic Power Packs \ Interop Forms Toolkit 2.1 \ Setup \ User

  2. 添加以下内容:

  3. &LT; HostApplication&gt; &LT;名称&gt; Microsoft Visual Studio&lt; /名称&gt; &LT;版本&gt; 11.0&lt; / Version&gt; &LT; / HostApplication&gt;

    1. 将文件复制到“Doc​​uments \ Visual Studio 2012 \ Addins”文件夹

    2. 复制 Documents\Visual Studio 2010\Templates\ItemTemplates\Visual Basic\Documents\Visual Studio 2010\Templates\ProjectTemplates\Visual Basic\Windows\*.*

      复制 Documents\Visual Studio 2012\Templates\ProjectTemplates\Visual Basic\WindowsServices.getHelo({ assetSurfaceId: $scope.assetSurfaceId }).then(function (resp) { delete resp["$promise"]; delete resp["$resolved"]; $scope.entity.helo = resp; for (var i = 0; i < $scope.entity.helo.length; i++) { heloCall($scope.entity.helo, i); initHelo($scope.entity.helo, i); } });