.NET Core 使用 dll 引用构建

.NET Core build with dll reference

我正在尝试让 .NET 核心与我工作中的构建系统一起工作,该系统的设计考虑到了 Java。但遗憾的是,它已融入我们的管道中,我们离不开它。因此,如果我想在工作中使用 .NET,它必须与此构建系统一起使用。

每个项目都构建到一个包中,具有自己的 git 存储库。

给出如下程序,其中 MyConsoleApp 依赖于 MyLibrary

MyProgram-Solution
 - MyConsoleApp
 - MyLibrary

在构建时,源代码将放置在

/build/packages/MyConsoleApp/
/build/packages/MyLibrary/

不过我当时只能建一个,而且不能动源码。 这意味着我需要先构建 MyLibrary,DLL 以

结束
/build/packages/MyLibrary/out/MyLibrary.1.0.dll

当我随后构建 MyConsoleApp 时,我需要一种方法来告诉 .NET Core 构建工具可以在

找到 MyLibrary.1.0.dll 文件
/build/packages/MyLibrary/out/MyLibrary.1.0.dll

在 Nuget 中存储包不是一个选项,因为包在构建时可能还没有准备好发布,并且构建系统在沙盒模式下工作,这意味着它没有外部连接。

如果可以的话,我可以编辑 MyConsoleApp.csproj

您可以使用 Visual Studio 添加程序集引用,与 .NET Framework 项目相同。

如果您想手动修改项目文件,您需要如下内容:

<ItemGroup>
  <Reference Include="MyLibrary">
    <HintPath>..\..\..\MyLibrary\out\MyLibrary.1.0.dll</HintPath>
  </Reference>
</ItemGroup>