簡體   English   中英

Visual Studio在擴展VS2012中設置了TargetFrameworkMoniker

[英]Visual Studio set TargetFrameworkMoniker in Extension VS2012

我嘗試使用Visual Studio 2012的VSMonoTouch插件完全在Visual Studio中構建我的跨平台解決方案。 因為這並沒有得到真正的支持,並且維護者看起來並不像他將創建一個新分支,所以其他人將其移植到了2012年。看起來可以在任何地方工作,而不僅僅是我的安裝。

首先,有關安裝內容的一些信息:

  • 贏8 64位
  • VS 2012高級版
  • .NET 4.5
  • C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework

我已經完成的工作是獲取所有代碼並使用VS啟動擴展。 我可以看到,在以下代碼中發生了此異常:(異常發生在行item.Value = v10FrameworkName上)

碼:

public int OnAfterOpenProject(IVsHierarchy pHierarchy, int fAdded)
{
    const string targetFrameworkMoniker = "TargetFrameworkMoniker";

    object projectObj;
    pHierarchy.GetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ExtObject, out projectObj);
    var project = (Project) projectObj;

    if (VSMonoTouchPackage.IsMonoTouchProject(project))
    {
       var v10FrameworkName = (new FrameworkName(".NETFramework", new Version(1, 0))).FullName;
       var item = project.Properties.Item(targetFrameworkMoniker);
       if (item != null)
       {
          if (item.Value == null || (string) item.Value != v10FrameworkName)
          {
              // Here is where the Exception occures
              item.Value = v10FrameworkName;
          }
       }
       else
       {
           project.Properties.Item(targetFrameworkMoniker).Value = v10FrameworkName;
       }
   }
   return VSConstants.S_OK;
}

例外:

結果:-2147352567

異常消息:

災難性故障(HRESULT的異常:0x8000FFFF(E_UNEXPECTED))

異常Stacktrace:

位於Follesoe.VSMonoTouch.SolutionEvents.OnAfterOpenProject的EnvDTE.Property.set_Value(Object lppvReturn)(IVsHierarchy pHierarchy,Int32 fAdded)在c:\\ Projects \\ VSMonoTouch \\ VSMonoTouch \\ VSMonoTouchPackage.cs:line 170

真正奇怪的是,當我打開一個csproj-MonoTuch-Project時,該項目一直在加載/卸載-加載/卸載-...直到VS崩潰。 也不例外。 打開包含MonoTouch-Project的現有解決方案時,出現上述異常。 (例如,打開MvvmCross-vNExt-Solution)

我的v1.0 .NETFramework文件夾似乎可以正常工作,因為我可以在Project屬性中將控制台應用程序切換到該目標Framework。 當我只是取消注釋崩潰的代碼時,VS會加載項目,但是看上去處於有線狀態。 我無法更改目標框架(項目屬性中根本沒有選擇)

任何可能觸發此異常的小主意將不勝感激。

好的,我已經通過全新安裝VS解決了此問題。 似乎是我的舊書中有東西損壞了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM