Devops:错误 CS0234:类型或命名空间名称 'ApplicationModel' 在命名空间 'Windows' 中不存在
Devops: Error CS0234: The type or namespace name 'ApplicationModel' does not exist in the namespace 'Windows'
我正在尝试为 Windows 通用示例应用程序 File Access Project.
设置构建管道
管道正在使用 Azure Pipelines 托管的 VS2017 映像
当我在本地 VS 中 运行 解决方案构建时。
Package.appxmanifest 包含
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10586.0" MaxVersionTested="10.0.17763.0" />
当管道尝试构建时,构建任务日志中出现以下错误。
Error CS0234: The type or namespace name 'ApplicationModel'
does not exist in the namespace 'Windows'
(are you missing an assembly reference?)
YAML 是
resources:
- repo: self
queue:
name: Hosted VS2017
demands:
- msbuild
- visualstudio
steps:
- task: NuGetCommand@2
displayName: 'NuGet restore'
- task: VSBuild@1
displayName: 'Build solution **\*.sln'
项目在我的机器上看起来像这样
在哪里
它 运行 正确。
我注意到 Nuget 还原任务的日志没有错误并且确实报告了
2018-12-16T01:27:31.8700773Z Checking compatibility for Microsoft.NETCore.Targets.UniversalWindowsPlatform 5.0.0 with UAP,Version=v10.0 (win10-x86-aot).
2018-12-16T01:27:31.8700831Z Checking compatibility for Microsoft.NETCore.Platforms 1.0.0 with UAP,Version=v10.0 (win10-x86-aot).
2018-12-16T01:27:31.8700878Z All packages and projects are compatible with UAP,Version=v10.0 (win10-x86-aot).
[更新]
查看SDK在我机器上的位置
C:\Program Files (x86)\Windows Kits\References.0.17763.0\Windows.AI.MachineLearning.MachineLearningContract.0.0.0
我想知道 Nuget 是如何知道这一点的。
事实上,我想知道为什么它在路径中包含有关 MachineLearning 的内容。
[更新]
我按照 Stefan Wick MSFT
的建议将版本更改为 17134 (RS4/1803) 而不是 17763 (RS5/1809)
错误更改为
C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\AppxPackage\Microsoft
.AppXPackage.Targets(3218,5): Error APPX0101: A signing key is required in
order to package this project. Please specify a PackageCertificateKeyFile or
PackageCertificateThumbprint value in the project file.
Process 'msbuild.exe' exited with code '1'.
SharedContent\Templates\UWPSDKSampleCPP\ARM\Debug\UWPSDKSampleCPP\AppxManifest.xml(0,0):
Error APPX0501: Validation error. error C00CE169: App manifest validation
error: The app manifest must be valid as per schema: Line 10, Column 13,
Reason: 'Microsoft.SDKSamples.$safeprojectname$.CPP' violates pattern
constraint of '[-.A-Za-z0-9]+'. The attribute 'Name' with value
'Microsoft.SDKSamples.$safeprojectname$.CPP' failed to parse.
Process 'msbuild.exe' exited with code '1'.
SharedContent\Templates\UWPSDKSampleCS\bin\ARM\Debug\AppxManifest.xml(0,0):
Error APPX0501: Validation error. error C00CE169: App manifest validation error:
The app manifest must be valid as per schema: Line 10, Column 13, Reason: 'Microsoft.SDKSamples.$safeprojectname$.CS' violates pattern constraint of '[-.A-Za-z0-9]+'.
The attribute 'Name' with value 'Microsoft.SDKSamples.$safeprojectname$.CS' failed to parse.
Process 'msbuild.exe' exited with code '1'
该错误是由于您的应用以 1809 SDK (v17763) 为目标,由于某些 issues.
原因,该 SDK 尚未在构建代理上推出
在代理上推出之前,您有两种解锁方式:
- 如果您实际上不需要 1809 SDK 中的任何 API,则以 1803 SDK (v17134) 为目标 - 或者
- 使用this script显式安装17763 SDK依赖
一旦有关于构建代理的 SDK 推出的更新,我将更新答案。
我正在尝试为 Windows 通用示例应用程序 File Access Project.
设置构建管道管道正在使用 Azure Pipelines 托管的 VS2017 映像
当我在本地 VS 中 运行 解决方案构建时。
Package.appxmanifest 包含
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10586.0" MaxVersionTested="10.0.17763.0" />
当管道尝试构建时,构建任务日志中出现以下错误。
Error CS0234: The type or namespace name 'ApplicationModel'
does not exist in the namespace 'Windows'
(are you missing an assembly reference?)
YAML 是
resources:
- repo: self
queue:
name: Hosted VS2017
demands:
- msbuild
- visualstudio
steps:
- task: NuGetCommand@2
displayName: 'NuGet restore'
- task: VSBuild@1
displayName: 'Build solution **\*.sln'
项目在我的机器上看起来像这样
在哪里
它 运行 正确。
我注意到 Nuget 还原任务的日志没有错误并且确实报告了
2018-12-16T01:27:31.8700773Z Checking compatibility for Microsoft.NETCore.Targets.UniversalWindowsPlatform 5.0.0 with UAP,Version=v10.0 (win10-x86-aot).
2018-12-16T01:27:31.8700831Z Checking compatibility for Microsoft.NETCore.Platforms 1.0.0 with UAP,Version=v10.0 (win10-x86-aot).
2018-12-16T01:27:31.8700878Z All packages and projects are compatible with UAP,Version=v10.0 (win10-x86-aot).
[更新]
查看SDK在我机器上的位置
C:\Program Files (x86)\Windows Kits\References.0.17763.0\Windows.AI.MachineLearning.MachineLearningContract.0.0.0
我想知道 Nuget 是如何知道这一点的。 事实上,我想知道为什么它在路径中包含有关 MachineLearning 的内容。
[更新]
我按照 Stefan Wick MSFT
的建议将版本更改为 17134 (RS4/1803) 而不是 17763 (RS5/1809)错误更改为
C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\AppxPackage\Microsoft
.AppXPackage.Targets(3218,5): Error APPX0101: A signing key is required in
order to package this project. Please specify a PackageCertificateKeyFile or
PackageCertificateThumbprint value in the project file.
Process 'msbuild.exe' exited with code '1'.
SharedContent\Templates\UWPSDKSampleCPP\ARM\Debug\UWPSDKSampleCPP\AppxManifest.xml(0,0):
Error APPX0501: Validation error. error C00CE169: App manifest validation
error: The app manifest must be valid as per schema: Line 10, Column 13,
Reason: 'Microsoft.SDKSamples.$safeprojectname$.CPP' violates pattern
constraint of '[-.A-Za-z0-9]+'. The attribute 'Name' with value
'Microsoft.SDKSamples.$safeprojectname$.CPP' failed to parse.
Process 'msbuild.exe' exited with code '1'.
SharedContent\Templates\UWPSDKSampleCS\bin\ARM\Debug\AppxManifest.xml(0,0):
Error APPX0501: Validation error. error C00CE169: App manifest validation error:
The app manifest must be valid as per schema: Line 10, Column 13, Reason: 'Microsoft.SDKSamples.$safeprojectname$.CS' violates pattern constraint of '[-.A-Za-z0-9]+'.
The attribute 'Name' with value 'Microsoft.SDKSamples.$safeprojectname$.CS' failed to parse.
Process 'msbuild.exe' exited with code '1'
该错误是由于您的应用以 1809 SDK (v17763) 为目标,由于某些 issues.
原因,该 SDK 尚未在构建代理上推出在代理上推出之前,您有两种解锁方式:
- 如果您实际上不需要 1809 SDK 中的任何 API,则以 1803 SDK (v17134) 为目标 - 或者
- 使用this script显式安装17763 SDK依赖
一旦有关于构建代理的 SDK 推出的更新,我将更新答案。