.NET.Core中不存在Directory.CreateDirectory

Rad*_*Zec 6 asp.net-core-mvc .net-core asp.net-core

我试图Directory.CreateDirectory在.NET Core中使用.但似乎它不存在.有没有其他方法可以在.NET Core中创建目录?这是我的project.json的一部分:

 "dependencies": {
        "EntityFramework.SqlServer": "7.0.0-beta4",
        "EntityFramework.Commands": "7.0.0-beta4",
        "Microsoft.AspNet.Mvc": "6.0.0-beta4",
        "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta4",
        "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta4",
        "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta4",
        "Microsoft.AspNet.Authentication.Google": "1.0.0-beta4",
        "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta4",
        "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta4",
        "Microsoft.AspNet.Diagnostics": "1.0.0-beta4",
        "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta4",
        "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta4",
        "Microsoft.AspNet.Server.IIS": "1.0.0-beta4",
        "Microsoft.AspNet.Server.WebListener": "1.0.0-beta4",
        "Microsoft.AspNet.StaticFiles": "1.0.0-beta4",
        "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta4",
        "Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta4",
        "Microsoft.Framework.ConfigurationModel.UserSecrets": "1.0.0-beta4",
        "Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta4",
        "Microsoft.Framework.Logging": "1.0.0-beta4",
        "Microsoft.Framework.Logging.Console": "1.0.0-beta4",
        "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta4",
        "System.IO.FileSystem.Primitives" : "4.0.0-beta-22816",
        "System.IO.FileSystem": "4.0.0-beta-22816",
        "Mandrill.Client": "1.0.0-*",
        "Microsoft.AspNet.Session": "1.0.0-beta4"
    },

    "commands": {
        "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000",
        "gen": "Microsoft.Framework.CodeGeneration",
        "ef": "EntityFramework.Commands"
    },

    "frameworks": {
        "dnx451": { },
        "dnxcore50": { }
    },

    "exclude": [
        "wwwroot",
        "node_modules",
        "bower_components"
    ],
    "publishExclude": [
        "node_modules",
        "bower_components",
        "**.xproj",
        "**.user",
        "**.vspscc"
    ],
    "scripts": {
        "postrestore": [ "npm install", "bower install" ],
        "prepare": [ "gulp copy" ]
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经在.NET Core中成功恢复了dll-like如图所示: NET Core参考


更新:问题不存在.当我在.NET Core上运行此代码时,它可以工作.只有鼠标悬停在描述上是不正确的,这表示不适用于.NET Core.我建议删除这个问题.

khe*_*ang 5

修复依赖关系/框架程序集

既然System.IO.FileSystem是一个.NET的核心依赖(完整的.NET框架已经有这些类型的System.IOmscorlib),你需要把它从移动dependenciesdnxcore50.dependencies.

例:

"frameworks": {
  "dnx451": {
    "frameworkAssemblies": {
      "System.Collections": "",
      "System.IO": "",
      "System.Runtime": "",
      "System.Xml": "",
      "System.Xml.Linq": "",
      "System.Threading.Tasks": "",
      "System.Text.Encoding": ""
    }
  },
  "dnxcore50": {
    "dependencies": {
      "System.IO": "4.0.10-beta-*",
      "System.Console": "4.0.0-beta-*",
      "System.Linq": "4.0.0-beta-*",
      "System.Reflection": "4.0.10-beta-*",
      "System.Runtime": "4.0.20-beta-*",
      "System.Threading.Tasks": "4.0.10-beta-*",
      "System.ComponentModel": "4.0.0-beta-*"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

首先,该dependencies节点用于"框架无关"依赖关系,即依赖关系,它适用于您在frameworks节点下指定的所有框架.

dnx451.frameworkAssemblies(完整的.NET框架4.5.1)节点是放入GAC的assembly,附带完整的.NET框架.这些不是通过NuGet下载的,而是在项目中引用的.

最后,该dnxcore50.dependencies节点用于特定于.NET Core的依赖项.这些是一组新的NuGet包,它们共同构成了.NET Core.这些是使用NuGet下载和引用的.

还原包

您需要确保包本身已经恢复.有时在project.json中声明依赖是不够的.

如果在Visual Studio中编辑project.json文件,则应在保存文件时自动还原包.否则你可以尝试dnu restore在project.json目录中运行.

此外,您可以尝试将版本更改为4.0.0-beta-*.

  • 所以如果一切正常,那么问题是什么呢?我知道你已经成功恢复了dll.我只回答了这个问题,因为你最初没有给出足够的信息.我放弃... (2认同)