我得到了" Microsoft.Cct.CctProjectNode'的类型初始值设定项。抛出异常。"安装Azure SDK 2.9后打开ccproj文件时

时间:2016-09-07 14:10:39

标签: c# azure visual-studio-2015

我有一个Azure云项目的解决方案,该项目针对2.7版本的Microsoft Azure SDK,我可以毫无问题地打开/构建和部署。由于Visual Studio唠叨我要更新,我继续安装了新的Azure SDK版本2.9。在更新之后,我无法打开云项目文件,Visual Studio(2015社区版,现在完全更新到我写这篇文章时的最新版本)给了我这个错误信息:

  

MyTest.ccproj:error:' Microsoft.Cct.CctProjectNode'的类型初始值设定项抛出异常。

如果手动编辑ccproj文件并更改

,我可以打开项目
<ProductVersion>2.7</ProductVersion>

值为2.9。但是,我不能使用它,因为其他人正在处理这个项目,他们仍然希望继续使用Azure SDK的2.7版本,该版本目前也已部署到生产中。

有没有办法允许Visual Studio打开旧版本的云项目?我是否必须卸载Azure SDK更新?

谢谢大家!

7 个答案:

答案 0 :(得分:45)

2.9.5及以前版本的SxS兼容性存在问题。这是最近发现的,我们正在寻找下一个版本的修复程序,但在那之前你必须卸载2.9。

  1. 卸载“用于Microsoft Visual Studio的Microsoft Azure工具 2015年 - 来自添加/删除程序的v2.9“
  2. 运行msiexec /x {60473BF2-359B-43B3-AF6C-12BAC6C5BC3F}。 (对于VS 2013,请使用 {438EED24-F35B-44E0-A2E2-675838273002})这应该调出msi 用于卸载“用于Microsoft Visual的Microsoft Azure工具”的对话框 Studio 2015 Core“
  3. 在添加/删除程序中,修复 Microsoft Visual Studio for Microsoft Visual Studio 2015 - v2.7(对于使用该版本的人来说是v2.8)。
  4. 更新答案。 #2最常见的GUID是:

    • {60473BF2-359B-43B3-AF6C-12BAC6C5BC3F}
    • {438EED24-F35B-44E0-A2E2-675838273002}

    如果您收到错误&#34;此操作仅对当前安装的产品有效。&#34;尝试使用{8664E001-704C-4EFB-B68D-6A3DEF60BBEE}

    MSFT支持论坛就是here

    连接票证为here

答案 1 :(得分:7)

解决方案:

  • 从添加/删除程序和任何其他v 2.9组件中卸载“Microsoft Azure工具for Microsoft Visual Studio 2015 - v2.9”
  • 运行“msiexec / x {60473BF2-359B-43B3-AF6C-12BAC6C5BC3F}”或{8664E001-704C-4EFB-B68D-6A3DEF60BBEE}。 (对于VS 2013,请使用{438EED24-F35B-44E0-A2E2-675838273002})这将打开msi对话框以卸载“Microsoft Azure Tools for Microsoft Visual Studio 2015 Core”
  • 在添加/删除程序中,修复Microsoft Visual Studio 2015的Microsoft Azure工具 - v2.7(或使用该版本的人的v2.8)。

<强>例外:

在某些情况下,这可能还不够。不过,这些例外也有解决方案。如果仍然收到错误消息,则可能需要进行全新安装。为此,请使用以下命令: Get-WmiObject -Class win32_product | Out-File c:\ temp \ .txt

这将在您指定的位置创建一个文件,并在计算机上安装所有软件包。搜索该文件并使用: msiexec / x&lt; 您认为必要的任何GUID &gt;

您可以在这里查看2.8包含的组件(如果是这种情况)包含的内容,以便您知道应该或不应该拥有的内容: https://www.microsoft.com/en-us/download/details.aspx?id=50041

删除所有内容后,您应该使用Web包安装程序重新安装2.8.2并检查是否有效。

更多例外:

此时原始问题应该已经消失,但您可能会遇到我在文章末尾粘贴的以下错误之一。对于第一个错误,您应该注册程序集。您可以使用以下方式列出装配:

gacutil -l&gt; yourassemblies.txt

只需打开开发人员命令提示符(在“开始”菜单&gt;应用程序&gt; Visual Studio中可用)并运行该命令。

这里的dll可以在这里找到: C:\ Program Files \ Microsoft SDKs \ Azure

您可以使用以下命令使用相同的提示注册它: gacutil / i yourdll.dll

对于第二个例外: 从这里使用procmon: https://technet.microsoft.com/en-us/sysinternals/bb896645

通过在重现错误时捕获VS进程(devenv)来查找Visual Studio正在搜索的路径。

从这里复制文件: C:\ Program Files \ Microsoft SDKs \ Azure \ Emulator 走向你发现的道路。

另见: Cannot run Windows Azure project due to Error: Unable to find fileDFUI.exe please verify your install is correct

汇编:

“DeleteCurrentDeployment”任务意外失败.System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.ServiceHosting.Tools,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。系统找不到指定的文件。文件名:Microsoft.Cct上的Microsoft.Cct.Debugging.DevFabricService..ctor()中的文件名称为“Microsoft.ServiceHosting.Tools,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”。 CctProjectNode。&lt;&gt; c.b__121_0()位于Microsoft.Cct的Microsoft.Cct.CctProjectNode.get_DevFabricService()上的System.Threading.LazyInitializer.EnsureInitializedCore [T](T&amp; target,Func 1 valueFactory) at System.Threading.LazyInitializer.EnsureInitialized[T](T& target, Func 1 valueFactory)微软.BuedExtensions.MSBuildTasks.DeleteCurrentDeployment.Execute()在Microsoft.Build.BackEnd.TaskBuilder。 ()WRN:程序集绑定日志记录已关闭。要启用程序集绑定失败日志记录,请将注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)设置为1.注意:程序集绑定会导致一些性能损失故障记录。要转动此功能关闭,删除注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog]。

缺少文件:

“DeleteCurrentDeployment”任务意外失败.Microsoft.ServiceHosting.Tools.DevelopmentFabric.DevFabricException:无法找到文件“DFUI.exe”,请验证您的安装是否正确。在Microsoft.ServiceHosting.Tools.DevelopmentFabric.DevFabric的Microsoft.ServiceHosting.Tools.Utility.ProcessWrapper.ResolveBinaryFullPath(String binaryName)at Microsoft.ServiceHosting.Tools.Utility.ProcessWrapper..ctor(String binaryName,String arguments,Boolean breakAway)。位于Microsoft.Cct.CctProjectNode的Microsoft.Cct.Debugging.DevFabricService..ctor()的.ctor(Boolean singleInstance)。在System.Threading.LazyInitializer.EnsureInitializedCore [T](T&amp; target)中的&lt;&gt; c.b__121_0() ,Func 1 valueFactory) at System.Threading.LazyInitializer.EnsureInitialized[T](T& target, Func 1 valueFactory),位于Microsoft.Cct.CctBuildDeploymentTaskHost.DeleteCurrentDeployment()的Microsoft.Cct.CctBuildDeploymentTaskHost.DeleteCurrentDeployment(),位于Microsoft.BuildExtensions.MackEnd.TaskExecutionHost的Microsoft.CloudExtensions.MSBuildTasks.DeleteCurrentDeployment.Execute() .Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()在Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext()

答案 2 :(得分:5)

今天发布了新的SDK 2.9.6 click

也许有这个问题的人可以尝试安装它,并告诉他们是否解决了问题,而无需其他解决方案。

答案 3 :(得分:1)

我必须运行msiexec / x {8664E001-704C-4EFB-B68D-6A3DEF60BBEE}才能使其正常工作。

我试着通过缺少50分来评论 - 抱歉。

答案 4 :(得分:1)

我能够通过编辑项目文件并将SDK版本更改为2.9来加载项目。至少我可以调试。这是等待时的一种解决方法,因此您不必弄乱机器卸载/重新安装不同的SDK。因人而异。修改项目文件的以下部分并重新加载:

首先,从2.8更改为2.9:

<ProductVersion>2.9</ProductVersion>

然后,同样如下:

<CloudExtensionsDir Condition=" '$(CloudExtensionsDir)' == '' ">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Windows Azure Tools\2.9\</CloudExtensionsDir>

我希望有所帮助!为我工作:))

答案 5 :(得分:0)

安装2.8 sdk以及已安装的2.7。这解决了我的问题

答案 6 :(得分:0)

我看到“user6258895”已经有了这个解决方案。我只想补充一点:

我遇到了同样的问题。安装.Net的Microsoft Azure SDK(您的Visual Studio版本) - 采用最新的SDK版本后,我的解决方案正常运行。

我为Visual Studio Ultimate 2013安装了以下工具。如果您需要,可以按照Visual Studio版本下载。

首先尝试安装/修复“Microsoft Azure SDK for .Net(您的Visual Studio版本) - 获取最新的SDK版本”。看它是否有效。

  1. Microsoft.Azure.HDInsightToolsForVS2013.msi
  2. MicrosoftAzureAuthoringTools-x64.msi
  3. MicrosoftAzureComputeEmulator-x64.exe程序
  4. MicrosoftAzureLibsForNet-64
  5. MicrosoftAzureQuickstarts.msi
  6. MicrosoftAzureStorageEmulator.msi
  7. MicrosoftAzureStorageTools.msi
  8. MicrosoftAzureTools.VS110.exe - 适用于VS 2012
  9. MicrosoftAzureTools.VS120.exe - 适用于VS 2013
  10. MicrosoftAzureTools.VS140.exe - - For VS 2015
  11. VWDOrVs2013AzurePack.exe ---如果有效,请先尝试安装它。
  12. WebToolsExtensionsVS2013.msi
  13. 或者您可以通过Microsoft Azure SDK for .NET - 2.6(使用您所需的版本)

    进行谷歌搜索

    N.B:根据您的PC / VS配置更改版本。

    谢谢。