0

我有一个使用 ASP.NET Core RC2 和 dotnet CLI 的 Web 项目,针对 .NET Framework,刚刚从 ASP.NET 5 RC1 和 DNX 更新。一旦我使用分布式 SQL Server 缓存,它就会崩溃并出现以下异常:

FileNotFoundException:无法加载文件或程序集“System.Collections.NonGeneric,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。
System.Data.SqlClient.SqlConnectionString..ctor(字符串连接字符串)

使用堆栈跟踪:

System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous) System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions) System .Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key) System.Data.SqlClient.SqlConnection.set_ConnectionString(String value) System.Data.SqlClient.SqlConnection..ctor(String connectionString) Microsoft.Extensions.Caching.SqlServer.DatabaseOperations.GetCacheItem (字符串键,布尔值 includeValue)Microsoft.Extensions.Caching.SqlServer.DatabaseOperations.GetCacheItem(字符串键)Microsoft.Extensions.Caching.SqlServer.SqlServerCache。Get(String key) Microsoft.AspNetCore.Session.DistributedSession.Load() Microsoft.AspNetCore.Session.DistributedSession.Remove(String key) MYCODE.SessionHelper.SetValue(String key, String value) in MYCODE.cs 等

这条线实际上就是Session.Remove(key);.

我怀疑它出于某种原因试图加载 .NET Core 包,而不是意识到它可以使用 .NET Framework。下面是我的project.json。

{
  "webroot": "wwwroot",
  "userSecretsId": "aspnet5-MYCODE-2d5ac1d3-01c8-4be2-9be2-894efd942480",
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },
  "runtimeOptions": {
    "gcServer": false,
    "gcConcurrent": true
  },

  "dependencies": {
    //"Microsoft.NETCore.Platforms": "1.0.1-rc2-24027",
    //"NETStandard.Library": "1.5.0-rc2-24027",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview1-final",
      "type": "build"
    },
    "Microsoft.EntityFrameworkCore.Tools": {
      "version": "1.0.0-preview1-final",
      "type": "build"
    },
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
      "version": "1.0.0-preview1-final",
      "type": "build"
    },
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
      "version": "1.0.0-preview1-final",
      "type": "build"
    },
    "MYOTHERCODE": "1.0.0-*",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Identity": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc2-final",
    "Microsoft.Extensions.Options": "1.0.0-rc2-final",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final",
    "System.Text.Encodings.Web": "4.0.0-rc2-24027",
    "Newtonsoft.Json.Schema": "2.0.2",
    "OtpSharp": "1.3.0.4",
    "Microsoft.AspNetCore.Session": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Razor": "1.0.0-rc2-final",
    "Microsoft.Extensions.Caching.SqlServer": "1.0.0-rc2-final",
    "Microsoft.CodeAnalysis.CSharp": "1.3.0-beta1-20160429-01",
    "Microsoft.CodeAnalysis.Workspaces.Common": "1.3.0-beta1-20160429-01",
    "Newtonsoft.Json": "8.0.3",
    "Twilio": "4.7.1"
  },

  "frameworks": {
    "net46": {
      "imports": [ "dnx451" ],
      "frameworkAssemblies": {
        "System.Runtime.Serialization": "4.0.0.0"
      }
    }    
  },

  "runtimes": {
    "win7-x64": {}
  },


  "tools": {
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview1-final",
      "imports": "portable-net45+win8+dnxcore50"
    },
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": {
      "version": "1.0.0-preview1-final",
      "imports": "portable-net45+win8+dnxcore50"
    },
    "Microsoft.EntityFrameworkCore.Tools": {
      "version": "1.0.0-preview1-final",
      "imports": [
        "portable-net45+win8+dnxcore50",
        "portable-net45+win8"
      ]
    },
    "Microsoft.Extensions.SecretManager.Tools": {
      "version": "1.0.0-preview1-final",
      "imports": "portable-net45+win8+dnxcore50"
    },
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
      "version": "1.0.0-preview1-final",
      "imports": [
        "portable-net45+win8+dnxcore50",
        "portable-net45+win8"
      ]
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "appsettings.json",
      "appsettings.*.json",
      "web.config"
    ]
  }
}

Microsoft.NETCore.Platforms在( 1.0.1-rc2-24027) 和/或NETStandard.Library( 1.5.0-rc2-24027) 中添加条目dependencies没有帮助。由于描述如何执行此操作的文档缺乏甚至不存在,因此我可能在针对 .NET Framework 时做错了什么。唯一的问题是什么?我是否缺少导入或参考程序集或其他东西?

4

1 回答 1

0

我不确定究竟是什么解决了这个问题,但删除了dnx451导入并开始net451工作。这引发了另一个问题,即我用于数据库和迁移的类库将无法运行该dotnet ef工具 -必须将它制作成一个应用程序才能执行此操作,并进行一些配置更改并简单地清空 bin 和obj 文件夹最终清理了一切。

于 2016-05-19T08:46:40.917 回答