我想在Visual Studio中实现单个文件生成器(也就是自定义工具)。
在过去的几天里,我检查了大量的例子。 到目前为止,我已经设法没有成功运行这些。 今晚我发现这里看起来最好的例子...... https://github.com/Microsoft/VSSDK-Extensibility-Samples/tree/master/Single_File_Generator
readme.md文件包含一系列要使其工作的步骤。 但是,根据我迄今为止尝试的其他每个例子,结果都是一样的。
在此系统上找不到自定义工具'XmlClassGenerator'。
我已经尝试过堆栈溢出,代码项目,各种博客和现在github的示例。所有这些都以相同的结果结束。我仔细阅读了注册表,寻找我的类guid,看看是否按照我所遵循的所有示例(包括MSDN网站)的说明安装了所有内容。
每一次,我都以同样的挫败感结束。任何人都可以帮助让这个例子有效吗?
以下是我遵循的步骤
以下是我遵循的readme.md文件中的步骤
我还建立了一个安装了Windows 10 pro N的全新虚拟机,以及visual studio 2015社区版,所以我在两台单独的机器上尝试了相同的结果。对于那些对第4步感兴趣的人,我使用了Example.XmlFile.xml的内容。
进一步更新。
此外,我已经在解决方案上执行了一个nuget up日期,因为有几个可用的更新。
接下来,我在解决方案构建属性中添加了“Register for COM Interop”标志。
执行C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ RegAsm.exe / tlb Microsoft.VisualStudio.Shell.Interop.dll
此时仍有同样的问题。但至少一切都是最新的和建设。
接下来,我在注册表上执行搜索,以查看guid是否已正确注册。 我已经手动将项添加到HKey_Local_Machine \ Software \ Wow6432node \ Microsoft \ VisualStudio \ 14.0 \ Generators {FAE04EC1 ...} \ XmlClassGenerator下的generator注册表项中 它具有CLSID和GeneratesDesignTimeSource
的值此时,我仍然收到相同的错误“无法在此系统上找到自定义工具'XmlClassGenerator'。
我正在尝试的最后一件事是将注册表内容放在
下HKEY_CURRENT_USER \ SOFTWARE \微软\ VisualStudio的\ 14.0_config \发电机{FAE0 ...} \ XmlClassGenerator
再次,这没有效果。
我必须尝试的最后一件事。我刚刚将GeneratorSample.dll添加到GAC并再次没有效果。
答案 0 :(得分:2)
http://www.codeproject.com/Tips/1023337/Custom-Tool-Single-File-Generator-for-Visual-Studi
我所做的与上述不同的是将dll放在c:\ program files \ Tool中。此外,我还将注册表项仅放在HKey_Current_User .... \ 14.0_Config \ Generators
中