2013-06-05 46 views
1

你好,我一直在建设中遇到的问题与MonoGame我得到glbind ...在opengl32.dll错误,所以我被建议找到我的GUID,它听起来像一个简单的任务可是我已经看过在项目文件夹中的文件,并不能找到它,我发现其中一个是哪里可以找到我的c#解决方案我的GUID

<ProjectGuid>{325BCA73-8459-49AF-9C31-D4A268BF8A1A}</ProjectGuid> 

但即时寻找一个这样的

<ProjectTypeGuids>{9B831FEF-F496-498F-9FE8-180DA5CB4258};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 

这里是我的文件夹和主要的图像“碰撞”.csproj文件,我找到了一个GUID。我已经做了一些研究,但似乎无法找到在哪里寻找答案。 HERE

更多accuretly即时寻找的Projecttypeguids这样我就可以删除其中的一个,看看这里建议,解决我的问题....我认出了我的措辞在顶部的那种含糊对不起

Here

+0

的事情是,相当多的东西可以有* A * GUID,这是不可能告诉什么*的*您要查找的GUID除非您给我们提供上下文 - 您需要什么,谁建议您需要它,他们的确切语句是什么? – millimoose

+0

我编辑我的问题对不起,这是令人困惑,但我提供了一个链接,我被建议做...据我所知,我想找到标记和删除monegame之一,并保持c#一个 –

+0

以及,这不是Windows,我会说'grep'。 (或者使用像Sublime Text这样的文本编辑器,它愿意对目录结构进行全文搜索。) – millimoose

回答

0

链接到的屏幕截图显示没有列出任何类型GUID的项目。如果存在,该值主要被开发工具使用(例如,VS使用它来确定在上下文菜单中添加新项目的项目)。如果没有项目类型的GUID,那么项目仍然可以“工作”部分,但您可能会在您选择的IDE中遇到奇怪的行为。

问题中的项目类型GUID值对于使用MonoGame插件的C#应用​​程序的项目是正确的。如果您的项目文件缺少该标签,只需将它自己添加到您希望项目具有的任何GUID中即可。

(著名的GUID的列表可以发现here,虽然MonoGame一个我不得不寻找在谷歌。)

+0

是啊我试着添加特定的GUID标签与C#号码,它不工作的构建和发布仍然失败,然后我试图添加C# GUID到项目的GUID和它失败我不知道该怎么做。 –

+0

您是否认为GUID与无法在DLL“opengl32.dll”中找到名为'glBindFramebuffer'的入口点有关。错误? –

+0

不,绝对不是。那个错误意味着你使用的是错误版本的'opengl32.dll',它没有你尝试使用的入口点。这显然是MonoGame中的一个已知错误:https://github.com/mono/MonoGame/issues/998 –

1

您给出的第一个示例是项目的GUID。因此ProjectGuid
第二个是项目类型的GUID列表。因此ProjectTypeGuids

如果您正在寻找项目的GUID,第一个例子就是给你正确的答案。

+0

哦是的,读回我承认我的问题是有点模糊我被建议这个答案,所以更准确的即时寻找ProjectTypeGUID http://stackoverflow.com/questions/16879359/missing-project-sub-type-error-当试图创建一个新monogame项目/ 16908711#comment24440527_16908711 –

0

首先,你没有你使用的是什么的WinForms或WPF提及。

OK whatever。如果您使用wpf,winform中不支持ProjectTypeGuids。

如果你使用WPF,你可以使用此代码:

public string GetProjectTypeGuids(EnvDTE.Project proj) 
     { 

     string projectTypeGuids = ""; 
     object service = null; 
     Microsoft.VisualStudio.Shell.Interop.IVsSolution solution = null; 
     Microsoft.VisualStudio.Shell.Interop.IVsHierarchy hierarchy = null; 
     Microsoft.VisualStudio.Shell.Interop.IVsAggregatableProject aggregatableProject = null; 
     int result = 0; 

     service = GetService(proj.DTE, typeof(Microsoft.VisualStudio.Shell.Interop.IVsSolution)); 
     solution = (Microsoft.VisualStudio.Shell.Interop.IVsSolution)service; 

     result = solution.GetProjectOfUniqueName(proj.UniqueName, hierarchy); 

     if (result == 0) 
     { 
     aggregatableProject = (Microsoft.VisualStudio.Shell.Interop.IVsAggregatableProject) hierarchy; 
     result = aggregatableProject.GetAggregateProjectTypeGuids(projectTypeGuids); 
     } 

     return projectTypeGuids; 

    } 

    public object GetService(object serviceProvider, System.Type type) 
    { 
     return GetService(serviceProvider, type.GUID); 
    } 

    public object GetService(object serviceProviderObject, System.Guid guid) 
    { 

     object service = null; 
     Microsoft.VisualStudio.OLE.Interop.IServiceProvider serviceProvider = null; 
     IntPtr serviceIntPtr; 
     int hr = 0; 
     Guid SIDGuid; 
     Guid IIDGuid; 

     SIDGuid = guid; 
     IIDGuid = SIDGuid; 
     serviceProvider = (Microsoft.VisualStudio.OLE.Interop.IServiceProvider)serviceProviderObject; 
     hr = serviceProvider.QueryService(SIDGuid, IIDGuid, serviceIntPtr); 

     if (hr != 0) 
     { 
     System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); 
     } 
     else if (!serviceIntPtr.Equals(IntPtr.Zero)) 
     { 
     service = System.Runtime.InteropServices.Marshal.GetObjectForIUnknown(serviceIntPtr); 
     System.Runtime.InteropServices.Marshal.Release(serviceIntPtr); 
     } 

     return service; 
    } 

它从here

相关问题