2012-08-10 91 views
5

使用Visual Studio 2012 RC,从页面开始,我启动了Azure Cloud Service。我选择了MVC 4,包括一个测试项目,并在构建时启用了NuGet包恢复。Web角色部署期间缺少Microsoft.WindowsAzure.Diagnostics

当我部署这蔚蓝的网站,使用Git,似乎目标框不包括任何的WindowsAzure.DiagnosticsWindowsAzure.ServiceRuntime库。一般来说,我是.NET新手,但我无法想象我在这里错过了什么。此外,虽然我可以轻松地从参考中删除Diagnostics(无诊断,没有问题),但似乎我无法使用ServiceRuntime做同样的事情。

我做错了什么,或者这是Azure网站中的错误?它可以修复吗?

C:\... [master]> git push azure master 
Counting objects: 17, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (11/11), done. 
Writing objects: 100% (12/12), 216.47 KiB, done. 
Total 12 (delta 5), reused 0 (delta 0) 
remote: New deployment received. 
remote: Updating branch 'master'. 
remote: Preparing deployment for commit id '2cb9c59bd0'. 
remote: Building web project 'MvcWebRole1.csproj'. 
remote: .. 
remote: Successfully installed 'Microsoft.AspNet.WebApi 4.0.20505.0'. 
remote: Successfully installed 'Microsoft.AspNet.Web.Optimization 1.0.0-beta2'. 
remote: Successfully installed 'jQuery.Validation 1.8.1'. 
remote: Successfully installed 'Microsoft.AspNet.Razor 2.0.20505.0'. 
remote: Successfully installed 'Microsoft.AspNet.Providers.Core 1.0'. 
remote: Successfully installed 'Microsoft.AspNet.Providers.LocalDb 1.0'. 
remote: Successfully installed 'jQuery.UI.Combined 1.8.11'. 
remote: Successfully installed 'jQuery 1.6.2'. 
remote: Successfully installed 'Microsoft.AspNet.WebApi.Client 4.0.20505.0'. 
remote: Successfully installed 'Microsoft.AspNet.Mvc 4.0.20505.0'. 
remote: Successfully installed 'Microsoft.AspNet.WebApi.Core 4.0.20505.0'. 
remote: Successfully installed 'Microsoft.AspNet.WebApi.WebHost 4.0.20505.0'. 
remote: Successfully installed 'Microsoft.jQuery.Unobtrusive.Ajax 2.0.20505.0'. 
remote: Successfully installed 'Microsoft.jQuery.Unobtrusive.Validation 2.0.20505.0'. 
remote: Successfully installed 'Microsoft.Web.Infrastructure 1.0.0.0'. 
remote: Successfully installed 'Microsoft.AspNet.WebPages 2.0.20505.0'. 
remote: Successfully installed 'Modernizr 2.0.6'. 
remote: Successfully installed 'Microsoft.WindowsAzure.ConfigurationManager 1.7.0.0'. 
remote: Successfully installed 'Microsoft.Net.Http 2.0.20505.0'. 
remote: Successfully installed 'WebGrease 1.0.0'. 
remote: Successfully installed 'EntityFramework 5.0.0-rc'. 
remote: Successfully installed 'WindowsAzure.Storage 1.7.0.0'. 
remote: Successfully installed 'knockoutjs 2.0.0'. 
remote: Successfully installed 'Newtonsoft.Json 4.5.1'. 
remote: D:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9): warning MSB3245: Could not resol 
ve this reference. Could not locate the assembly "Microsoft.WindowsAzure.Diagnostics, Version=1.7.0.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35". Check to make sure the assembly exists on disk. If this reference is required by your 
code, you may get compilation errors. [C:\DWASFiles\Sites\barf\VirtualDirectory0\site\repository\MvcWebRole1\MvcWebRole1 
.csproj] 
remote: D:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9): warning MSB3245: Could not resol 
ve this reference. Could not locate the assembly "Microsoft.WindowsAzure.ServiceRuntime, Version=1.7.0.0, Culture=neutra 
l, PublicKeyToken=31bf3856ad364e35". Check to make sure the assembly exists on disk. If this reference is required by yo 
ur code, you may get compilation errors. [C:\DWASFiles\Sites\barf\VirtualDirectory0\site\repository\MvcWebRole1\MvcWebRo 
le1.csproj] 
remote: WebRole.cs(5,30): error CS0234: The type or namespace name 'Diagnostics' does not exist in the namespace 'Microsoft.WindowsAzure' (are you missing an assembly reference?) [C:\DWASFiles\Sites\barf\VirtualDirectory0\site\repository\Mv 
cWebRole1\MvcWebRole1.csproj] 
remote: WebRole.cs(6,30): error CS0234: The type or namespace name 'ServiceRuntime' does not exist in the namespace 'Microsoft.WindowsAzure' (are you missing an assembly reference?) [C:\DWASFiles\Sites\barf\VirtualDirectory0\site\repository\MvcWebRole1\MvcWebRole1.csproj] 
remote: WebRole.cs(10,28): error CS0246: The type or namespace name 'RoleEntryPoint' could not be found (are you missing a using directive or an assembly reference?) [C:\DWASFiles\Sites\barf\VirtualDirectory0\site\repository\MvcWebRole1\Mvc 
WebRole1.csproj] 
remote: 
remote: Error - Changes committed to remote repository but your website not updated. 
+0

您是否检查过服务器上是否存在导致引用错误的错误文件?按照http://weblogs.asp.net/srkirkland/archive/2012/08/08/git-deployment-to-an-azure-website-keeping-configuration-secrets.aspx,kudu部署引擎为git提供动力即使从源代码移除,此处的部署也不会删除目标上的文件和文件。你可能会ftp进去看看服务器上的bin目录中是否有一些dll应该不在那里......或者删除它们并重新部署新的... – 2012-08-15 05:36:00

+0

我也有同样的问题,我认为它的一部分与dll所在的路径有关。我的项目似乎引用C:\ ProgramFiles这些DLL而不是项目特定的路径。 – 2012-09-07 01:58:35

回答

9

由于程序集引用而出现此错误。

如果安装了Microsoft SDK,引用将在引用文件夹中。如果它不存在,那么我们必须浏览添加到Solution.Even我运行该解决方案时遇到了同样的问题。现在我解决了这个问题,它的工作精细。

如果我们安装的Windows Azure SDK

“C:\ Program Files文件\微软的SDK \的Windows Azure \ .NET SDK \ 2012-10 \裁判”

所有引用会这里添加这个参考文件到你的解决方案中并构建它,将会起作用。

但愿这很有帮助,

感谢,

+3

http://www.microsoft.com/en-us/download/details.aspx?id=35448 已下载并安装。现在作品 – 2012-11-07 10:08:11

+0

http://stackoverflow.com/questions/13429867/azure-git-deployment-missing-references-in-2nd-assembly – 2013-05-08 13:20:10

0

我相信这是因为你使用Visual Studio 2012候选版本和Windows Azure工具为Visual Studio 2012还没有公布。尝试与Visual Studio 2010相同的代码,并找到所有程序集并解决问题。

4

这个问题的明确答复。

但是,最简单的解决方案是将AzureSDK2.2DLLs添加到您的Web角色项目。