在点网核心中使用外部.dll

我有自己的.dll文件,我曾经在nodejs中使用Edge.js,我现在尝试使用dot net core app,但是没有找到/不知道如何访问它,或者定义它。

是否有类似的东西

"files": { "":"MyLibrary.dll" } 

或者喜欢

 using MyLibraryFile.dll 

这样我可以使用它的function?

我的程序集文件结构是: MyLibraryFile.dll

 namespace MyLibrary { public class Inventory { public async Task Invoke(object input) { } 

并且都没有using MyLbrary; 也不using MyLbraryFile; 工作

我需要在MS Code编辑器中使用它,而不是MS Studio。 并且不想使用NuGet package

.Net Core 2支持直接引用外部.dll (例如Net Standard库,经典的.Net Framework库)。 您可以通过Visual Studio UI执行此操作:右键单击Dependencies->Add reference->Browse并选择您的外部.dll

或者,您可以编辑.csproj文件:

   path\to\MyAssembly.dll   

您可以面对以下错误:

 Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 

然后只需删除\bin文件夹即可重建项目。 它应该解决这个问题。

  • .NET Core仅通过Nuget与依赖项一起使用。 如何将.NET Core项目导入Visual Studio中的另一个.NET Core项目? 并引用与.NET Core XUnit项目相关的标准dll 。

  • 使用VS Code,您可以添加对Nuget包修改project.json文件的引用。 查看“依赖项”部分

    定义项目的包依赖关系的对象,此对象的每个键都是包的名称,每个值都包含版本控制信息。 有关更多信息,请参阅NuGet文档站点上的依赖性解决方案文章。

    更新:从.NET Core 1.1开始,您需要通过添加部分来修改.csproj文件。 例如:

         
  • 在C#中using add namespace,而不是引用程序集。


您可以使用以下代码添加dll:

 [DllImport("MyLbraryFile.dll", SetLastError = true, CharSet = CharSet.Auto)] 

您所要做的就是将dll放在同一目录中。

https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute(v=vs.110).aspx

不确定你的意思是“外部”。 如果它是一个核心项目并且正在使用相同的解决方案构建,您可以使用project.json引用它。

 "dependencies": { "Microsoft.NETCore.App": { "version": "1.1.0", "type": "platform" }, "MyLibrary": "1.0.0-*", "Microsoft.AspNetCore.Server.Kestrel": "1.1.0", etc..