我有自己的Visual Studio 2008 SP1自定义工具.它由5个程序集组成:3个程序集,其中包含在我的其他项目中大量使用的代码,1个VS2008 SDK上的程序集包装程序以及使用该工具的程序集.
如果我从visual studio调试我的工具,使用命令行"C:\ Program Files(x86)\ Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"和参数"/ ranu /"使用"运行外部程序"选项rootsuff Exp"一切都很完美.
在那之后,我正在尝试将它部署到我的工作VS副本,而不是实验配置单元,执行:gacutil /i Asm1.dll对于我的所有程序集,RegAsm Asm1.dll仅用于使用自定义工具进行装配.utils都没有打印任何错误,所有工作都按计划进行,甚至出现了注册表项.但是我的工具不起作用(发生错误"在此系统上找不到自定义工具'TransportGeneratorTool'")即使在PC重启后也是如此.我做错了什么?
Wrapper看起来像那样:
[ComVisible(true)]
public abstract class CustomToolBase : IVsSingleFileGenerator, IObjectWithSite
{
#region IVsSingleFileGenerator Members
int IVsSingleFileGenerator.DefaultExtension(out string pbstrDefaultExtension)
{
pbstrDefaultExtension = ".cs";
return 0;
}
int IVsSingleFileGenerator.Generate(string wszInputFilePath, string bstrInputFileContents, string wszDefaultNamespace, IntPtr[] rgbOutputFileContents, out uint pcbOutput, IVsGeneratorProgress pGenerateProgress)
{
GenerationEventArgs gea = new GenerationEventArgs(
bstrInputFileContents,
wszInputFilePath,
wszDefaultNamespace,
new ServiceProvider(Site as Microsoft.VisualStudio.OLE.Interop.IServiceProvider)
.GetService(typeof(ProjectItem)) as ProjectItem,
new GenerationProgressFacade(pGenerateProgress) …Run Code Online (Sandbox Code Playgroud) 背景:我们有一个自定义工具,它接受xml输入并生成cs输出.自定义工具需要向 Visual Studio 注册才能使其与该版本的visual studio一起使用.
我们做了什么:我们已经使用Visual Studio 2015 完成了自定义工具注册,该工作正常.但现在问题出在Visual Studio 2017上.
问题:所以在我的研究到目前为止,我发现到Visual Studio的2015年,VS有哪些被允许注册工具直接注册表项,而是从VS 2017年,微软已经取得方式的变化注册表项如何存储(很好看的到了解VS2017中的变化).
如果我打开VS 2017并尝试运行自定义工具,那么我得到错误
在此系统上找不到自定义工具"工具名称".
这是显而易见的,因为自定义工具尚未在VS 2017中注册工作.
我试图跟随这个说要将.bin文件加载到注册表的人,但他也说它禁止启动VS 2017.为了启动VS,我们必须卸载配置单元.研究表明,.bin文件可以根据安装的VS的类型(企业,专业等)在不同的位置.
有没有人这样做过?
TIA
我正在尝试在Visual Studio 2010中创建用于代码生成的自定义工具.首先我注册它:
"$(FrameworkSDKDir)Bin\NETFX 4.0 Tools\gacutil.exe" /if "$(TargetPath)"
Run Code Online (Sandbox Code Playgroud)
然后我通过reg键添加它:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\CLSID\{6A96476E-74F3-4AB3-9CCA-F15EC6104D84}]
"RuntimeVersion"="v4.0.30319"
"Class"="MapBuildTool.MapFileGenerator"
"Assembly"="MapBuildTool, Version=1.0.0.0, Culture=en-US, PublicKeyToken=7d8abca94a1e38ae"
"ThreadingModel"="Both"
"InprocServer32"="C:\\Windows\\SysWOW64\\mscoree.dll"
@="MapBuildTool"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Generators\{FAE04EC1-301F-11D3-BF4B-00C04F79EFBC}\MapBuildTool]
"CLSID"="{6A96476E-74F3-4AB3-9CCA-F15EC6104D84}"
"GeneratesDesignTimeSource"=dword:00000001
@="MapBuildTool"
Run Code Online (Sandbox Code Playgroud)
然后visual studio说:
Cannot find custom tool 'MapBuildTool' on this system.
Run Code Online (Sandbox Code Playgroud)
好的......现在怎么样?它找不到自定义工具注册表项吗?它是否找到了钥匙,但装卸组件有困难?它是否加载了程序集但是在实例化类时遇到了麻烦......?哪些日志/地方在那里我可以找出哪些错误?
code-generation visual-studio-2010 customtool visual-studio visual-studio-2010-sp1
如何向kendo添加自定义工具editor toolbar?
我想添加拼写检查器,媒体管理器和剪切,复制,粘贴,剪切,单词复制和其他一些工具.
我在MVC应用程序中使用Kendo编辑器.
我正在使用Visual Studio SDK构建自定义工具代码生成器,并将其基于SingleFileGenerator示例.
我的问题是如何在此代码上进入调试模式?我现在可以将我的自定义工具添加到Visual Studio中的文件但是它出错了,我希望能够在可能的情况下调试此代码.
为什么会出现此错误?我只是在数据集设计器中设置了一些默认值...第二次出现这种情况......
"自定义工具错误无法生成代码.抛出了类型'System.OutOfMemoryException'的异常"
customtool ×6
c# ×2
asp.net-mvc ×1
custom-tools ×1
debugging ×1
deployment ×1
kendo-editor ×1
registry ×1