【问题标题】:.NET Core build with dll reference.NET Core 使用 dll 参考构建
【发布时间】:2017-11-14 20:00:56
【问题描述】:

我正在尝试让 .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

【问题讨论】:

  • 您可以在没有外部连接的情况下使用 NuGet。 MyLibrary 可以构建一个包,然后MyConsoleApp 可以使用NuGet.config 文件在构建系统上添加一个文件夹作为 NuGet 包源 - 即直接从 /build/packages/MyLibrary/out/ 拉取 NuGet 包。

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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 2022-06-14
    • 2017-09-18
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    相关资源
    最近更新 更多