如何在Visual Studio 2013中创建GUID?我有一个在VS2012中运行良好但在VS2013中无效的插件。我发现这个Create GUID in VS2012和How to convert VS2012 add ins to VS2013 Packages但是无法使它工作(添加ins不是我的强项 - 我只是编辑SQL脚本)。有没有一种简单的方法可以取回这个功能?
答案 0 :(得分:48)
如果您正在使用ReSharper(强烈推荐),则可以通过键入nguid
并按 Tab 在任何地方创建新的GUID。
答案 1 :(得分:19)
实际上,你可以使用guidgen.exe,它应该安装VS。
使用菜单TOOLS - >外部工具...添加:
%Installation Path%\Microsoft Visual Studio 12.0\Common7\Tools\guidgen.exe
e.g。
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\guidgen.exe
给出“创建GUID”的标题,就像它在VS2010中一样。
答案 2 :(得分:5)
答案 3 :(得分:3)
我也想知道我应该怎么做。我看到了以下示例:Inserting a Guid for VS 2012。对于VS2013,您必须安装SDK。完成后,您将看到包的模板项目项以及添加新项目时的插件。
尽管文档说在VS2013中不推荐使用addins,但它们看起来确实有效(我使用的是VS2013 Ulitmate v 12.0.21005.1 REL)。您可以按照上一篇文章中的说明进行操作。
我还创建了一个相对简单的包。使用如何:Convert an Addin to a VS Package我能够创建包。
在文章中,我添加了以下使用语句:
using EnvDTE;
using EnvDTE80;
然后我将MenuItemCallback方法更改为以下内容:
private void MenuItemCallback(object sender, EventArgs e)
{
DTE2 dte = (DTE2)GetService(typeof(DTE));
if (dte.ActiveDocument != null)
{
TextSelection objSel = (EnvDTE.TextSelection)(dte.ActiveDocument.Selection);
objSel.Insert(Guid.NewGuid().ToString());
}
}
构建项目后,我转到bin \ Debug文件夹并启动了vsix文件(在我的例子中为GuidPackage.vsix)。这安装了包以在IDE中使用。
我现在有一个菜单项可以在我的代码中插入guid,并且能够以通常的方式为它创建快捷键。
答案 4 :(得分:2)
只需使用VS Package Manage Console中的PowerShell:
[guid]::NewGuid()
。结果:
Guid
----
61dabfd8-9151-46f5-8d92-72306044d844
答案 5 :(得分:0)
我更喜欢使用这个解决方案:
_TUCHAR * guidStr = 0x00;
GUID * pguid = 0x00;
pguid = new GUID;
CoCreateGuid(pguid);
//将GUID转换为字符串UuidToString(pguid,& guidStr);
删除pguid;