Azure 管道无法生成,因为它找不到类型或命名空间名称

Posted

技术标签:

【中文标题】Azure 管道无法生成,因为它找不到类型或命名空间名称【英文标题】:Azure pipelines doesn't build because it can't find type or namespace name 【发布时间】:2022-01-16 12:59:23 【问题描述】:

我正在尝试设置 Azure 管道来构建和发布我的解决方案。解决方案中的所有项目都在 .NET Core 3.1 中。该项目在 Visual Studio 中构建并运行良好,但是当我尝试运行管道时出现以下错误:

##[error]DbConfiguration\DbContexts\Configurations\Write\RequestConfiguration.cs(1,12): Error CS0234: The type or namespace name 'Model' does not exist in the namespace 'CCCC' (are you missing an assembly reference?)
D:\a\1\s\DbConfiguration\DbContexts\Configurations\Write\RequestConfiguration.cs(1,12): error CS0234: The type or namespace name 'Model' does not exist in the namespace 'CCCC' (are you missing an assembly reference?) [D:\a\1\s\DbConfiguration\CCCC.DbConfiguration.csproj]
##[error]DbConfiguration\DbContexts\Configurations\Write\RequestConfiguration.cs(7,66): Error CS0246: The type or namespace name 'Request' could not be found (are you missing a using directive or an assembly reference?)
D:\a\1\s\DbConfiguration\DbContexts\Configurations\Write\RequestConfiguration.cs(7,66): error CS0246: The type or namespace name 'Request' could not be found (are you missing a using directive or an assembly reference?) [D:\a\1\s\DbConfiguration\CCCC.DbConfiguration.csproj]
##[error]DbConfiguration\DbContexts\Configurations\Write\RequestConfiguration.cs(9,49): Error CS0246: The type or namespace name 'Request' could not be found (are you missing a using directive or an assembly reference?)
D:\a\1\s\DbConfiguration\DbContexts\Configurations\Write\RequestConfiguration.cs(9,49): error CS0246: The type or namespace name 'Request' could not be found (are you missing a using directive or an assembly reference?) [D:\a\1\s\DbConfiguration\CCCC.DbConfiguration.csproj]

管道的 YAML 文件:

# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

如果解决方案在本地运行良好并且 Visual Studio 没有出现任何错误(或警告),那么此错误的原因可能是什么?

【问题讨论】:

能否提供.csproj文件中引用的源代码和包 【参考方案1】:

命名空间“CCCC”中不存在类型或命名空间名称“Model”(您是否缺少程序集引用?)

清理并重建 dll 文件。 根据您的错误,可能的原因包括:

    编译中未引用包含类型定义的程序集;使用References (Import Metadata) 指定程序集

    您将变量名称传递给 typeof 运算符。

    您试图引用一个不属于您的 .NET 目标框架名字对象 (TFM) 的程序集。如需更多信息,请参阅Troubleshooting .NET Targeting Errors。

您还可以使用对象浏览器检查程序集并验证它是否包含您期望它包含的类型。

找不到类型或命名空间名称“Request”(您是否缺少 using 指令或程序集引用?)

未找到程序中使用的类型或命名空间。您可能忘记引用 (References) 包含该类型的程序集,或者您可能没有添加所需的 using directive。 检查类型或命名空间的名称。如果没有正确的名称,编译器将找不到类型或命名空间的定义。 您是否向包含命名空间的程序集添加了引用 (References)? 您是否添加了正确的using directive,

【讨论】:

以上是关于Azure 管道无法生成,因为它找不到类型或命名空间名称的主要内容,如果未能解决你的问题,请参考以下文章

在 Azure YAML 中检查空对象类型参数

python无法导入opencv,因为它找不到libjpeg.8.dylib

找不到类型或命名空间名称“Windows”

pip 无法安装软件包,因为它找不到 swig2.0 二进制文件

无法在 Mac 上安装 Ruby gem libxslt-ruby,因为它找不到 libxml2

Keycloak 失败,因为它找不到我的主题或带有 NullPointer 异常的默认主题