使用dll引用的.NET Core构建

时间:2017-11-14 20:00:56

标签: c# .net asp.net-core asp.net-core-2.0

我正在努力让.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

1 个答案:

答案 0 :(得分:3)

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

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

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