【问题标题】:LightSwitch Metadata Missing: DataService ApplicationData缺少 LightSwitch 元数据:DataService ApplicationData
【发布时间】:2016-09-16 19:33:56
【问题描述】:

我不确定是否在正确的论坛(LightSwitch 或 TFS)中提交问题。在我的公司,我们在 Visual Studio 2012 LightSwitch 中开发了一个解决方案,并在 App.Server 层中使用了一个 ApplicationDataService.svc (OData) 和一个 WCF 服务。我在 TFS 中创建了一个构建定义来安排 App 的每日构建和发布。起初,构建定义运行良好,但由于某些原因,它遇到了一个错误,其日志结果显示如下:

PrepareForBuild:
  Creando directorio "bin\Debug\".
LSSvcGenerators:
  Quitando el directorio "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\GeneratedSvcFiles\".
  Creando directorio "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\GeneratedSvcFiles\".
  Generación completada
  Copiando el archivo de "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\ApplicationData.svc" en "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\GeneratedSvcFiles\ApplicationData.svc".
  Copiando el archivo de "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\AggregationsWCFServiceData.svc" en "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\GeneratedSvcFiles\AggregationsWCFServiceData.svc".
  Copiando el archivo de "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\XtraReportsServiceData.svc" en "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\GeneratedSvcFiles\XtraReportsServiceData.svc".
  Copiando el archivo de "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\OmniMembershipWCFData.svc" en "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\GeneratedSvcFiles\OmniMembershipWCFData.svc".
  (Out) GeneratedSvcFiles: 'C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\ApplicationData.svc;C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\AggregationsWCFServiceData.svc;C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\XtraReportsServiceData.svc;C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\OmniMembershipWCFData.svc'
LSResourceGenerators:
  Generación completada
  (Out) GeneratedMetaDataFiles: 'C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\ApplicationData.csdl;C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\AggregationsWCFServiceData.csdl;C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\XtraReportsServiceData.csdl;C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\OmniMembershipWCFData.csdl;C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\ApplicationData.msl;C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\AggregationsWCFServiceData.msl;C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\XtraReportsServiceData.msl;C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\GeneratedArtifacts\OmniMembershipWCFData.msl;C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\Gen...
CoreResGen:
  "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\resgen.exe" /useSourcePath /r:C:\TFSAgent\_work\1\s\0-Development\OmniSettlement\AggregationsWCFSer\bin\Debug\AggregationsWCFService.dll /r:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.Charts.v12.2.Core.dll" /r:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.Data.v12.2.dll" /r:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.Office.v12.2.Core.dll" /r:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.PivotGrid.v12.2.Core.dll" /r:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.Printing.v12.2.Core.dll" /r:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.RichEdit.v12.2.Core.dll" /r:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.Utils.v12.2.dll" /r:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.Xpf.Printing.v12.2.Cor...
  Procesando archivo de recursos "rptMerchantTotals.resx" en "obj\Debug\LightSwitchApplication.rptMerchantTotals.resources".
  Procesando archivo de recursos "rptRejectedTransactions.resx" en "obj\Debug\LightSwitchApplication.rptRejectedTransactions.resources".
CompileLicxFiles:
  C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\LC.exe /target:Application.Server.dll /complist:Properties\licenses.licx /outdir:obj\Debug\ /i:C:\TFSAgent\_work\1\s\0-Development\OmniSettlement\AggregationsWCFSer\bin\Debug\AggregationsWCFService.dll /i:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.Charts.v12.2.Core.dll" /i:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.Data.v12.2.dll" /i:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.Office.v12.2.Core.dll" /i:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.PivotGrid.v12.2.Core.dll" /i:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.Printing.v12.2.Core.dll" /i:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.RichEdit.v12.2.Core.dll" /i:"C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.Utils.v12.2.dll" /i:"C:\Program Files (x86)\DevExpress...
GenerateTargetFrameworkMonikerAttribute:
Se omitirá el destino "GenerateTargetFrameworkMonikerAttribute" porque todos los archivos de salida están actualizados respecto a los archivos de entrada.

    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\LightSwitch\v3.0\Microsoft.LightSwitch.Build.Tasks.targets(253,5): Error : Faltan los metadatos de DataService 'ApplicationData'.
    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\LightSwitch\v3.0\Microsoft.LightSwitch.Build.Tasks.targets(253,5): error : Faltan los metadatos de DataService 'ApplicationData'. [C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\OmniMerchant.Server.csproj]
      Generación completada
    Compilación del proyecto terminada "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.Server\OmniMerchant.Server.csproj" (destinos predeterminados) -- ERROR.
    Compilación del proyecto terminada "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.ls3proj" (destinos predeterminados) -- ERROR.
    Compilación del proyecto terminada "C:\TFSAgent\_work\1\s\0-Development\OmniMerchant\OmniMerchant.sln" (destinos predeterminados) -- ERROR.
    ERROR al compilar.

Looking at target file, specifically source line of error into
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\LightSwitch\v3.0\Microsoft.LightSwitch.Build.Tasks.targets(253,5):

   <LSCodeGeneratorsTask Inputs="@(LightSwitchModel)"
                          ServiceModelFiles="@(ServiceMetadataFiles)"
                          IsRebuild="$(LSCodeGenFromRebuild)"
                          IsBuildingInsideVisualStudio="$(BuildingInsideVisualStudio)"
                          LightSwitchProjectType="$(LightSwitchProjectTypeV3)"
                          LightSwitchProjectSubType ="$(LightSwitchProjectSubType)"
                          ProjectPath="$(MSBuildProjectFullPath)"
                          Parameters="Language=$(Language)"
                          MetadataFiles="@(GeneratedMetadataFiles)"
                          ProjectOutputPath="$(OutDir)"
                          ExternalDataSources="@(ServerExternalDataSources)">
      <Output ItemName="FileWrites"
              TaskParameter="ModelChecksums" />
      <Output ItemName="Compile"
              TaskParameter="CodeFiles" />
      <Output ItemName="GeneratedCodeFiles"
              TaskParameter="CodeFiles" />
      <Output ItemName="FileWrites"
              TaskParameter="CodeFiles" />
    </LSCodeGeneratorsTask>

但是,ApplicationData.csdl 存在于 GeneratedArtifacs 中,所以我不明白为什么会导致错误。

需要帮助,谢谢!

【问题讨论】:

  • 您使用的是哪个版本的 TFS?您最近是否对 TFS 进行了任何更改?尝试登录您的构建代理机器并使用 MSBuild 命令行手动构建您的项目,看看您会得到什么结果?
  • 另外,尝试创建一个轻量级的LightSwitch项目,并在TFS上排队构建,看看能否构建成功。

标签: tfs tfsbuild visual-studio-lightswitch lightswitch-2012


【解决方案1】:

我自己解决了。在 LightSwitch VS2012 中,OData 服务消费者生成一个 .edmx 文件(实体框架数据模型)到服务器层项目中。在我的项目中对此类服务 (svc) 的服务引用的名称是 ApplicationData。由于 .edmx 文件被该项目中的其他人意外排除,Team Build 无法找到 ApplicationData 模型,从而生成前面提到的错误。我对其进行了调整,并将 .edmx 文件添加到 TFS,一切正常!

感谢大家和 Cece。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多