我已经下载了myTODO Azure示例应用程序,当我尝试在本地运行它时,我收到以下非常令人费解的错误消息。
The item "..\MyTodo.WebUx\MyTodo.WebUx.csproj" in item list
"ProjectReferenceWithConfiguration" does not define a value for metadata "Configuration".
In order to use this metadata, either qualify it by specifying %(ProjectReferenceWithConfiguration.Configuration),
or ensure that all items in this list define a value for this metadata.
C:\Program Files (x86)\MSBuild\Microsoft\Cloud Service\1.0\Visual Studio 10.0\Microsoft.CloudService.targets
以下是MyToDo.WebUX.csproj文件的摘录,我该如何更改?
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
答案 0 :(得分:4)
今天我遇到了一个问题,MSBuild给了我一个几乎相同的错误:
The item "xxx.csproj" in item list "ProjectReferenceWithConfiguration" does not define a value for metadata "Name".
幸运的是,我有另一个正确编译的Azure服务,因此我能够找出差异。事实证明,在正在运行的解决方案中,MyService.ccproj
(Azure服务项目)正在编译之前的 xxx.csproj
。在失败的解决方案中,xxx.csproj
首先编译。当我在xxx.csproj
之后指定MyService.ccproj
编译的依赖关系时,它开始工作。
我不确定这里到底发生了什么,或者xxx.csproj
是什么让它变得如此必要。如果我弄明白我会更新,但也许这会对你有帮助。
更新:如果您将Azure角色项目之外的任何内容指定为服务项目的依赖项,那么Azure似乎可能不喜欢它。我之所以如此MyWebRole.csproj
依赖于xxx.csproj
,而不是MyService.ccproj
依赖于xxx.csproj
,而且它有效。
答案 1 :(得分:1)
要获取要转换的Web项目,请从元素中删除以下内容:“{603c0e0b-db56-11dc-be95-000d561079b0};”
那个样本已经过时了......你可以用它来查看测试项目,但要获得该项目代码大部分版本的更新版本vs2008,请尝试将源代码下载到本实验室: DeployingApplicationsinWindowsAzure。
Source链接位于右上角。如果您查看3练习的结束文件夹,您将找到该项目的更新版本...但是我不认为完整的解决方案是存在的,所以您必须将它与您链接的那个进行比较到上面。
...我没有亲自比较这些项目,所以我不知道实验室版本和代码库中的项目之间缺少什么。