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任务具有以下设置:
当我运行这个过程时,恢复很好,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)
归档时间: |
|
查看次数: |
611 次 |
最近记录: |