我有一个.NET Core控制台应用程序和一个.NET Core类库.两者都是非常简单的单一类项目.两者都是新建的,全新安装了最新的.NET Core.两者都针对.NET Core 1.1.
每当我在应用程序中包含.NET Core类库时,就会在运行时发生此错误:
System.IO.FileNotFoundException:'无法加载文件或程序集'NAME,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'.该系统找不到指定的文件.
构建任一项目都很好,Intellisense在包含using...语句后向我显示了类库的内容.编写引用和代码后,编译时没有问题.
我在控制台应用程序中为引用的程序集设置了Copy Localto Yes.引用的DLL bin在运行时存在于控制台应用程序的文件夹中.
这是csproj参考:
<Reference Include="NAME">
<HintPath>path\bin\Debug\netcoreapp1.1\NAME.dll</HintPath>
<Private>true</Private>
<SpecificVersion>false</SpecificVersion>
</Reference>
Run Code Online (Sandbox Code Playgroud)
这只发生在.NET Core DLL中,我完全没有.NET Framework 4.5.*及更高版本的问题.
任何人都能对这个问题有所了解吗?我发现有关此问题的任何SO/MSDN页面都是特定的问题,例如针对DLL的错误版本,这没有帮助.
使用2.0之前的工具不支持在.NET Core应用程序中引用DLL文件.
原因是依赖图(deps.json文件)生成不包括这些文件,并且很可能无论如何都不会工作,因为它无论如何都无法合并引用的DLL的引用/依赖.
对于即将发布的2.0版本,只要您还引用原始软件包正在使用的所有DLL /软件包,此方案应该可以正常工作.语法是:
<Reference Include="path/to/my.dll" />
Run Code Online (Sandbox Code Playgroud)
.NET Core 2.0还支持以这种方式为.NET 4.6.1构建的引用程序集,但如果DLL使用不受支持的API调用,它可能会在运行时失败.
| 归档时间: |
|
| 查看次数: |
3318 次 |
| 最近记录: |