您可以在.NET标准库项目中使用Console.Write,将Windows控制台项目作为“驱动程序”(具有调用库的主函数)吗?换句话说,这是一个我在解决方案中的库,其中有一个Windows控制台应用程序引用.NET标准库项目,当它到达Console.WriteLine(“Hello World”)时它会变得很糟糕;言。
我得到的错误是System.IO.FileNotFoundException:
无法加载文件或程序集'System.Console,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。
对于司机:
目标框架是:.NET 4.6.1 输出类型为:控制台
对于图书馆: 目标是.NET Standard 4.1 输出类型是:类库
所以主要是我这样做:
static void Main(string[] args)
{
TextToConsole textToConsole = new TextToConsole();
textToConsole.GetTextFromSource();
textToConsole.WriteToDestination(); //gets to here and barfs.
}
WriteToDestination方法如下所示:
public void WriteToDestination()
{
Console.WriteLine(textString);//It barfs here and throws an
//unhandled exception.
Console.ReadLine();
}
答案 0 :(得分:0)
行。愚蠢的错误。我最初对于图书馆的目标框架有 .NET标准 ,而且这与我所拥有的不匹配对于 可执行文件的目标框架 (驱动程序); .NET Framework 。所以对我来说,.NET标准库并不是正确的目标框架。猜测,库和控制台应用程序驱动程序必须匹配,至少在这种情况下。如果混合目标框架,Visual Studio将不会警告您。 我将Library的目标框架从.NET Standard更改为.NET Framework 。现在它有效!具有.NET Framework 4.6.1的控制台应用程序是否应该引用具有.NET Standard 1.4的库?我不知道......很想知道。