创建一个 .net standard dll,将其命名为 Paas dll,并更改输出路径为 ..\Output\
添加下面这样的类记录器:
public class Logger
{
public void LogMessage()
{
Console.Write("test");
}
}
现在在解决方案中创建另一个 .net core 控制台项目,并将 pass.dll 作为引用添加(不是项目引用),并将复制本地设置为 false。
还要将控制台应用程序的输出目录更改为 ..\Output\。
在控制台应用程序中添加以下代码 -
var logger = new Logger();
logger.LogMessage();
Console.Read();
构建和运行 .net core 应用程序时,但现在应用程序出现以下错误进入中断模式:
但如果使用 .net framework 4.6.1 项目执行相同步骤,则可以正常工作,为什么会存在这种与 .net core 不同的行为,如何解决?无法加载文件或程序集“Paas,Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”。系统找不到指定的文件。
此问题的演示项目的 Github 链接: https://github.com/ankgupta067/DependencyInjection.git。
<Private>false</Private>
。如果你将其删除,它就会被复制到bin\debug\netcoreapp2.0
目录下。 - Jon Skeet