我有一个解决方案,即将迁移到Azure Devops管道,并且在弄清楚如何使用共享项目时遇到了麻烦。所以这是场景。我有3个项目Common.csproj,A.csproj和B.csproj。在两个项目中都使用Common。 A和B通过我的解决方案中的项目参考来参考Common。
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj">
<Project>{40838373-5284-4073-86e5-9bf4e1bfb855}</Project>
<Name>Common</Name>
</ProjectReference>
</ItemGroup>
我已将Common项目移至它自己的git repo,并具有一个构建管道,该管道在最后发布了构建构件dll。
在我的项目A管道中,我试图下载该Common构建工件,并使用msbuild进行引用,但尚未弄清楚该如何做。是否存在直接引用程序集的命令行参数,或者我是否以错误的方式考虑了此问题?
答案 0 :(得分:1)
是否存在直接引用程序集的命令行参数,或者我是否以错误的方式考虑了此问题?
恐怕没有这样的命令行参数可以直接引用程序集。那是因为我们无法在构建过程中添加引用,因此Visual Studio / MSBuild是一种预编译机制,它在构建之前会获得所有引用组装路径。
因此,要解决此问题,应在创建参考项目A和B之前添加参考。可以使用项目参考而不是带有dll文件的项目A,B来构建解决方案。
此外,如果仍然单独使用Common项目作为dll文件,则可以尝试使用nuget。
一些步骤:
查看文档Get started with NuGet packages in Azure DevOps Services and TFS,了解更多详细信息。 希望这可以帮助。