命名空间"Microsoft"vsts构建中不存在类型或命名空间名称"Azure"

Lic*_*hte 5 azure azure-pipelines

我有一个包含多个项目的大解决方案.像那样:

main.sln

-ProjectA_api.proj  
-ProjectA_BL.proj  
-ProjectA_Common.proj  

-Project B....etc
Run Code Online (Sandbox Code Playgroud)

api消耗BL,BL消耗常见.
他们都使用nuget包.

主解决方案有一个Nuget.Config文件,用于描述存储所有包的位置.
当我在ProjectA_api.proj上从vs2017运行本地构建时,一切都正确完成.我可以将ProjectA_api.proj发布到网上.
我尝试使用VSTS构建服务自动化此过程(我的最终目标是发布到Azure Web App).

它看起来像这样:

在此输入图像描述
获取源代码任务获取此构建的所有相关源:
来自sln的Nuget.Config文件以及所有项目(API,BL,COMMON).
Restore Nuget任务具有以下设置:

  • "解决方案的路径,packages.config或project.json"= ProjectA_api.proj package.json文件的路径
    • nuget配置文件的路径= main.sln nuget.config文件
      构建解决方案任务 - 具有ProjectA_api.proj proj文件的路径

当我运行这个过程时,恢复很好,msbuild工作了一段时间,直到我收到错误:
"错误CS0234:命名空间'Microsoft'中不存在类型或命名空间名称'Azure'(你错过了一个程序集)引用?)"对于"ProjectA_Common.proj"(ProjectA_common.proj使用3个引用,其中一个是azure引用).

所有解决方案包都包含在解决方案级别包文件夹中.我还尝试为所有项目添加nuget恢复,但仍然是同样的错误.是否有可能以这种方式完成我的目标,或者我应该只针对这些项目制定单一解决方案(我不想这样做)?
谢谢

编辑
在projectA_common中我有正确的packages.config:

 <?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Google.Protobuf" version="3.5.1" targetFramework="net461" />
  <package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.3" targetFramework="net452" />
  <package id="MySql.Data" version="8.0.12" targetFramework="net461" />
</packages>
Run Code Online (Sandbox Code Playgroud)

我试图更改targetFramework,但它没有用.还注意到其他包都没问题.

编辑2 - Nuget.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <solution>
        <add key="disableSourceControlIntegration" value="true" />
    </solution>
      <config>
        <add key="repositoryPath" value="packages" />
  </config>
    <packageSources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    </packageSources>
</configuration>  
Run Code Online (Sandbox Code Playgroud)

common.proj文件中的引用

<Reference Include="Microsoft.WindowsAzure.Configuration, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\..\..\packages\Microsoft.WindowsAzure.ConfigurationManager.3.2.3\lib\net40\Microsoft.WindowsAzure.Configuration.dll</HintPath>
    </Reference>
Run Code Online (Sandbox Code Playgroud)