我如何告诉我的 C# 项目到哪里寻找 DLL?

How can I tell my C# project where to look for DLLs?

我目前正在尝试使用 JUST.Net 的自定义函数。

我在一个名为 Foo.JUST.CustomFunctions:

的项目中创建了这个函数
using Newtonsoft.Json.Linq;

namespace CustomFunctions;

public class Normalizer
{
    public static object TryUnquote(object value) =>
        value is string quotedValue
            ? JToken.Parse(quotedValue)
            : value;
}

我正在尝试注册:

// FIXME: Use Dependency Injection!
JUSTContext context = new();

context.RegisterCustomFunction("Enpal.JUST.CustomFunctions", "CustomFunctions.Normalizer", "TryUnquote", "tryunquote");

但是系统抛出这个异常:

System.IO.FileNotFoundException: 'Could not load file or assembly 'C:\projects\SalesforceEventListenerService\Salesforce.EventListener\Foo.JUST.CustomFunctions.dll'. The system cannot find the file specified.'

这很有意义,因为 Visual Studio 在构建项目时并没有把它放在那里,而是可以在 "C:\projects\SalesforceEventListenerService\Salesforce.EventListener\bin\Debug\net6.0-windows8.0"

如何确保系统显示在正确的位置?

如果有的话,我还需要做些什么来确保它在进入 Azure DevOps CI/CD 管道时也能正常工作?

我能够像这样工作:

_ = Assembly.GetAssembly(typeof(Normalizer));

JUSTContext context = new();
context.RegisterCustomFunction("Enpal.JUST.CustomFunctions", "CustomFunctions.Normalizer", "TryUnquote", "tryunquote");