在点网核心中使用外部.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..