我有一个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更新?
谢谢大家!
答案 0 :(得分:45)
2.9.5及以前版本的SxS兼容性存在问题。这是最近发现的,我们正在寻找下一个版本的修复程序,但在那之前你必须卸载2.9。
msiexec /x {60473BF2-359B-43B3-AF6C-12BAC6C5BC3F}
。 (对于VS 2013,请使用
{438EED24-F35B-44E0-A2E2-675838273002}
)这应该调出msi
用于卸载“用于Microsoft Visual的Microsoft Azure工具”的对话框
Studio 2015 Core“更新答案。 #2最常见的GUID是:
{60473BF2-359B-43B3-AF6C-12BAC6C5BC3F}
{438EED24-F35B-44E0-A2E2-675838273002}
如果您收到错误&#34;此操作仅对当前安装的产品有效。&#34;尝试使用{8664E001-704C-4EFB-B68D-6A3DEF60BBEE}
。
MSFT支持论坛就是here
连接票证为here
答案 1 :(得分:7)
在某些情况下,这可能还不够。不过,这些例外也有解决方案。如果仍然收到错误消息,则可能需要进行全新安装。为此,请使用以下命令: 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 走向你发现的道路。
汇编:
“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版本”。看它是否有效。
或者您可以通过Microsoft Azure SDK for .NET - 2.6(使用您所需的版本)
进行谷歌搜索N.B:根据您的PC / VS配置更改版本。
谢谢。