类型或名称空间名称“ Azure”在名称空间“ Microsoft” vts build中不存在

时间:2018-08-16 19:23:28

标签: azure azure-pipelines

我有一个大的解决方案,其中包含多个项目。 像这样:

main.sln

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

-Project B....etc

api消耗BL,BL消耗common。
它们都消耗nuget包。

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

看起来像这样:

enter image description here
获取资源任务获取与此版本相关的所有相关资源:
sln的Nuget.Config文件以及所有项目(API,BL,COMMON)。
还原Nuget任务具有以下设置:

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

运行此过程时,还原很好,msbuild会工作一段时间,直到出现错误:
“ ProjectA_Common.proj”的名称空间“ Microsoft”中没有类型或名称空间名称“ Azure”(Azure)不存在(您是否缺少程序集引用?)(ProjectA_common.proj使用3个引用,其中之一是天蓝色参考)。

所有解决方案包都包含在解决方案级别包文件夹中。我还尝试为所有项目添加nuget restore,但仍然是相同的错误。是否可以通过这种方式完成我的目标,还是只为这些项目制定一个解决方案(我不想这样做)?
谢谢

修改
在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>

我试图更改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>  

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>

0 个答案:

没有答案
相关问题