2013-06-05 88 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

相關問題