【问题标题】:Class not recognized by compiler in ASP.NET 5 Class Library (vNext)ASP.NET 5 类库 (vNext) 中的编译器无法识别类
【发布时间】:2015-02-17 15:43:44
【问题描述】:

我尝试在 ASP.NET 5 vNext 中创建一个简单的网站。我创建了一个 ASP.NET 5 类库并添加了一些我已经在另一个项目中使用的类。

我有 2 个依赖项的问题。编译器告诉我

找不到类型或命名空间名称“FileStream”(是否缺少 using 指令或程序集引用?)FlashTools.ASP.NET Core 5.0

“ICSharpCode”同样的错误(当然不是 .NET 框架的一部分) 我已经在我的项目中添加了 System.IO 和 SharpZipLib(用于 ICSharpCode 类)。这是我的 project.json:

{
   "version": "1.0.0-*",
   "dependencies": {
      "SharpZipLib": "0.86.0.0"
   },

   "frameworks": {
       "aspnet50": {
           "dependencies": {
           }
       },
       "aspnetcore50": {
           "dependencies": {
               "System.Runtime": "4.0.20.0-beta-22605",
               "System.Linq": "4.0.0.0-beta-22605",
               "System.Threading": "4.0.10.0-beta-22605",
               "System.Runtime.Extensions": "4.0.10.0-beta-22605",
               "System.Globalization": "4.0.10.0-beta-22605",
               "System.IO": "4.0.10-beta-22416"
               // "System.IO": "4.0.10.0-beta-22605",
           }
       }
   }
}

例如,当我键入时,Intellisense 会识别 StreamFile 或 FileMode 类

this.stream = new FileStream(this.fileName, FileMode.Open, FileAccess.Read);

但编译器无法识别它们。

如果我尝试不在我的 ASP.NET 5 类库中而是直接在我的 ASP.NET 5 Web 应用程序中使用这些类,即使在 project.json 文件中没有引用 System.IO,编译器也可以。

你有什么想法吗?是 ASP.NET 5 Beta 的问题还是我做错了什么?

谢谢

【问题讨论】:

  • 您没有在问题中解决这个问题:您是否缺少using 指令?
  • 是的,我正在使用 System.IO,它显示为白色(不是灰色),这意味着 VS 代码中使用了此命名空间。

标签: c# asp.net .net asp.net-core


【解决方案1】:

根据package search websiteFileStream在你的项目不包含的System.IO.FileSystem包中。

【讨论】:

  • 呵呵,谢谢,我不知道这个网站。我不明白为什么 MSDN 说它属于 System.IO msdn.microsoft.com/en-us/library/…
  • 现在 SharpZipLib 库的问题仍然存在,但它不是 .NET 框架的一部分。我想我现在卡住了,只需要等待这个库与 ASP.NET 5 兼容
  • 您无需等待。在该库可用之前,您将无法在 Core CLR 上编译,但您仍然可以使用 Desktop CLR。看我的回答here
  • 哈哈好吧,我现在明白了。谢谢维克多
猜你喜欢
  • 2020-11-13
  • 2018-10-28
  • 2017-11-29
  • 2022-01-09
  • 2023-03-11
  • 1970-01-01
  • 2020-04-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多