在.net Core项目中引用外部DLL
本文关键字:引用 外部 DLL 项目 net Core | 更新日期: 2023-09-27 18:13:36
我有我自己的。dll文件,我曾经在nodejs中使用Edge.js,我正试图使用它现在与。net核心应用程序,但发现没有地方/没有如何获得访问它,或定义它。
有没有类似
的东西"files":
{
"":"MyLibrary.dll"
}
或
using MyLibraryFile.dll
以便我可以使用其中的函数?
我的程序集文件结构是:MyLibraryFile.dll
namespace MyLibrary
{
public class Inventory
{
public async Task<object> Invoke(object input)
{
}
, using MyLbrary;
和using MyLbraryFile;
都不起作用
我需要使用这个与MS Code编辑器,而不是与MS Studio。并且不希望使用NuGet package
。.Net Core 2支持直接引用外部.dll
(例如。Net标准库,经典。Net框架库)。你可以通过Visual Studio UI:右键单击Dependencies->Add reference->Browse
并选择外部.dll
。
也可以编辑.csproj
文件:
<ItemGroup>
<Reference Include="MyAssembly">
<HintPath>path'to'MyAssembly.dll</HintPath>
</Reference>
</ItemGroup>
您可能会遇到以下错误:
未处理异常:System.IO.FileNotFoundException: Could not load file or assembly
然后删除'bin
文件夹并重建项目。应该可以解决这个问题。
这怎么可能
Net Core 2.0
支持.Net Standard 2.0
。Net Standard 2.0
提供了连接.Net Core
的兼容模式。Net Standard)和.NET Framework
。它可以重定向引用,例如从mscorlib.dll
(Net)到System.Int32
。框架)到System.Runtime.dll
(Net。核心)。但是,即使您的。net core应用程序成功编译了依赖于外部dll
,如果有任何外部库使用的。net标准没有的API,您可能仍然会在运行时遇到兼容性问题。
-
。. NET Core只能通过Nuget来处理依赖关系。如何在Visual Studio中导入一个。net Core项目到另一个。net Core项目?从。net Core XUnit项目中引用标准dll。
-
使用VS Code,你可以添加对Nuget包修改项目的引用。json文件。查看"dependencies"部分
定义项目的包依赖关系的对象,该对象的每个键是一个包的名称,每个值包含版本信息。有关更多信息,请参阅NuGet文档站点上的依赖项解析文章。
更新:从。net Core 1.1开始,你需要通过添加
<PackageReference>
section来修改。csproj文件。为例:<ItemGroup> <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" /> <PackageReference Include="MySql.Data" Version="6.9.9" /> </ItemGroup>
-
在c#
using
中添加命名空间,不引用汇编
您可以使用以下代码添加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