标签: .net-standard-1.5

Visual Studio 2017 - 无法加载文件或程序集"System.Runtime,Version = 4.1.0.0"或其依赖项之一

我正在使用Visual Studio 2017,我正在尝试创建.Net Standard 1.5库并在.Net 4.6.2 nUnit测试项目中使用它.

我收到以下错误...

无法加载文件或程序集'System.Runtime,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一.该系统找不到指定的文件.

我尝试过以下方法:

  1. 参考Std库作为项目参考.错误:给我以前的错误.
  2. 为我的Std库创建一个NuGet pkg并引用它.错误:类型是System.String,期望System.String.这是因为System.Runtime最终被项目引用,并且它具有所有标准类型的定义.
  3. 参考NuGet pkg NetStandard.Library.错误:给我与#相同的错误("类型是System.String,期望System.String").注意:在我这样做之前,我清除了项目中的所有NuGet包,然后只添加了nUnit和NetStandard.Library包(安装了45个其他包).

这是一个错误吗?有解决方法吗?任何帮助表示赞赏.

.net visual-studio-2017 .net-standard-1.5

89
推荐指数
7
解决办法
7万
查看次数

aspnetcore(netcoreapp1.0)中System.Web.Security.Membership.GeneratePassword的替代方案

是否有替代System.Web.Security.Membership.GeneratePasswordin AspNetCore(netcoreapp1.0).

最简单的方法是使用一个Guid.NewGuid().ToString("n")足够长的密码,但它不是完全随机的.

asp.net asp.net-mvc asp.net-core asp.net-core-1.0 .net-standard-1.5

17
推荐指数
1
解决办法
5614
查看次数

ConfigurationManager.AppSettings在.Net Standard 1.5上生成编译时错误

我正在使用.Net Standard 1.5并希望从我的配置中读取一些值.但是以下行

ConfigurationManager.AppSettings["Foo"]
Run Code Online (Sandbox Code Playgroud)

给我以下编译时错误:

CS7069引用类型'NameValueCollection'声称它在'System'中定义,但找不到它

我想也许在.Net Standard中有另一种方法可以从AppSettings中读取,但我还没有找到关于该主题的任何内容.

configurationmanager appsettings namevaluecollection .net-standard .net-standard-1.5

8
推荐指数
0
解决办法
1231
查看次数

使用.NETStandard时,不会将Nuget包复制到输出

我想在WPF(.NET 4.6)应用程序和.NET Core应用程序之间共享项目.为此,我通过最初创建一个可移植的库并在Visual Studio 2015中将其转换为.NETStandard 1.3版来创建.NET标准库.

但是,.NETStandard库需要引用Entity Framework(例如),所以我在project.json中添加了这个依赖项,所有内容都很愉快.但是,当我实际运行应用程序时,只要实际尝试使用Entity Framework库加载数据,我就会收到File Not Found异常.这是预期的,因为使用.NETStandard时没有任何nuget包被复制到输出目录(不像使用nuget用于普通的.NET),所以我可以看到异常的原因.

当使用.NETStandard库并从.NET 4.6项目引用时,如何解决此问题/获取要复制到输出的nuget依赖项?(下面是我的project.json,并且很乐意在需要时添加更多代码).

{
  "supports": {},
  "dependencies": {
    "Microsoft.EntityFrameworkCore.Design": "1.1.0",
    "Microsoft.EntityFrameworkCore.Sqlite": "1.1.0",
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1",
    "NETStandard.Library": "1.6.1"
   },
  "frameworks": {
    "netstandard1.3": {}
  }
}
Run Code Online (Sandbox Code Playgroud)

.net c# .net-core .net-standard-1.5

8
推荐指数
1
解决办法
1668
查看次数

在.net 4.6.2中使用.net标准1.5 lib错过了System.Runtime 4.1.0.0

在.net framework 4.6.2 consoleapps中使用.net标准时遇到了一些问题.

我可以把问题减少到这个:给定:

我用这个单独的类创建了一个.net标准1.5客户端库vs 2017

public class Class1
    {
        public List<int> Get()
        {
            return new List<int>() { 1, 2, 3, 4, 5, 65, 6 };
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在我创建一个新的.net 4.6.2控制台应用程序,它只是调用此类的方法:

       static void Main(string[] args)
        {
            var foo = new Class1();

            Console.WriteLine("Done!");
            Console.ReadLine();
        }
Run Code Online (Sandbox Code Playgroud)

现在我明白了

System.IO.FileNotFoundException:'文件或程序集'System.Runtime,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a未找到

当我将.net standardlib nuget包添加到.net fx控制台时,它可以工作.但是那时system.runtime可以通过GAC和nuget参考来实现,这对我来说似乎很难看.

我在这里推出了这个简短的测试解决方案:https://github.com/Gentlehag/NetStandardSample

我错过了什么?

.net c# visual-studio-2017 .net-standard .net-standard-1.5

8
推荐指数
1
解决办法
4202
查看次数

Xamarin表单和实体框架核心NetStandard

最近,Xamarin宣布支持NetStandard(请参阅https://releases.xamarin.com/stable-release-cycle-7-service-release-1/),最近发布的Entity Framework Core支持NetStandard.SQLite.Native软件包最近有一个问题已经解决(请参阅https://github.com/aspnet/EntityFramework/issues/4269)但是当我构建Android版本的Xamarin Forms应用程序时,它似乎没有包括实体框架所需的输出中的所有程序集,因此应用程序将不会在第一行EF代码上运行和崩溃以检索数据.UWP版似乎运行得很好,所以这似乎是Android的问题(也可能是iOS).

有没有人遇到这个并知道解决方法,以便编译的Xamarin Forms Android应用程序将使用Entity Framework Core运行来访问SQLite数据库?

先感谢您.

xamarin.android xamarin xamarin.forms entity-framework-core .net-standard-1.5

5
推荐指数
1
解决办法
1120
查看次数

使用相同的C#源构建完整的.net,PCL和dotnet核心程序集的单个源项目?

更新:这是指围绕project.json构建的一套过时的.net核心工具,这个问题及其答案在当前.net核心工具集(如Visual Studio 2017+)中的实用性非常有限.

使用Visual Studio 2015,更新3,我试图找出阻止我执行以下操作的当前限制:

  1. 对于单个C#代码库,从相同的源代码编译完整的.net框架版本和PCL版本以及.net核心类库.

  2. 解决方案目录solutiondir\将包含一个src\包含projectdir\(Solutiondir\src\projectdir)的目录.

  3. Projectdir将包含一个HelloWorldPCL类库,它作为一个classic .net PCL项目构建,并与其他框架目标一起构建.

  4. 从同Projectdir一个相同的HelloWorldPCL也将被编译为 .net 4.6项目.

  5. 从同Projectdir一个相同的HelloWorldPCL也将被编译.net core.

  6. 所有上述输出组件的共享访问的单组C#代码可以具有一些#if DOTNET#if NET46#if PCL有条件的定义来处理东西并不是在各种框架/环境可用.

到目前为止,我所能做的最上面的,但是当我尝试有Projectdir包含.net core伪像project.json或者HelloWorldCore.xproj,在IDE给了我很多的错误,如果我试图创建独立.csproj.xproj项目在同一个文件夹,以便不似乎是正确的要走的路.

有了一个工作.csproj项目,当我介绍一个.xproj和一个project.json磁盘,但我们没有将这些添加到解决方案本身,他们只是坐在真实项目源旁边的磁盘上,我得到一个Nuget包恢复错误,这只能是通过删除project.json文件来消失,所以显然不可能.csproj在项目目录中有一个project.json文件夹.必须在project.json模式(.net …

.net c# visual-studio-2015 asp.net-core .net-standard-1.5

5
推荐指数
1
解决办法
1155
查看次数

.NET Core NETSTANDARD - 获取程序集

由于AppDomainIST在没有可用的netstandard库,我想知道怎么做

AppDomain.CurrentDomain.GetAssemblies();
Run Code Online (Sandbox Code Playgroud)

显然,目标是获取当前应用程序中加载的所有程序集.

更新

有一个解决方案 netstandard 1.6

DependencyContext.Default.CompileLibraries
DependencyContext.Default.RuntimeLibraries
Run Code Online (Sandbox Code Playgroud)

但我需要一个解决方案 netstandard >= 1.3

appdomain .net-core .net-standard-1.5

5
推荐指数
0
解决办法
2514
查看次数

如何在 .NET Standard 1.5 上确定操作系统是 32 位还是 64 位跨平台?

我一直在寻找解决方案,但尽管在答案不再适用于 .NET Standard 1.5 及其跨平台思维方式之前已经提出了这个问题。此外,这个问题是关于操作系统架构而不是.NET 平台架构

我试过的

最佳答案是Environment.Is64BitOperatingSystem是一个未在 .NET Standard 1.5 中实现的 API。

答案

/// <summary>Is64s the bit operating system.</summary>
/// <returns></returns>
if (IntPtr.Size == 8)
    // 64Bit
else
    // 32bit
Run Code Online (Sandbox Code Playgroud)

不是我需要的。尽管在 .NET Standard 中仍然可以做到,但它决定了 .NET 平台的位数,而不是底层操作系统。

几乎所有其他回复都在使用[DllImport("kernel32.dll")],我几乎可以肯定除了 Windows 之外的任何东西都不会工作。

那么,我如何确定.NET Standard 1.5 支持的所有平台(Linux、iOS、Windows、Android 等)的底层操作系统的位数?

c# operating-system 32bit-64bit .net-standard .net-standard-1.5

3
推荐指数
1
解决办法
706
查看次数

如何创建.net核心类库

我是.net核心的新手.我需要一些帮助来配置我的project.json文件来创建一个带.net核心的类库.我实际上阅读了很多文档,但是由于有大量的东西需要阅读,我很遗憾.我知道我必须使用NETStandardLibray(https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md),但我不知道怎么把它放进去我的config.json文件.

这是我的config.json文件:

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0-rc2-3002702"
    },
    "xunit": "2.1.0",
    "dotnet-test-xunit": "1.0.0-rc2-build10025"
  },
  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dnxcore50",
        "portable-net45+win8"
      ]
    }
  },
  "testRunner": "xunit"
}
Run Code Online (Sandbox Code Playgroud)

我想构建一个简单的类库,以便在另一个项目中重用,我也希望它有单元测试.

我在这里的主要困难是关于绰号.他们真是一团糟.我只是想构建一个可以在任何平台上使用的类库,但看起来我必须在我的project.json中选择平台.在已弃用的标记列表中,我不知道我应该使用什么名字.为了使用NET标准库,我应该将具有nuget标识符netcoreapp1.0的平台.NET Standard Application 1.5作为目标,还是应该使用具有nuget标识符netstandard1.3的平台.NET Platform 5.0?什么是正确的平台?NETStandard Library不应该与平台无关吗?我应该将这些标识符放在我的project.json的依赖项或框架部分中吗?那两个部分的区别是什么?我完全迷失了:(

.net c# .net-core .net-core-rc2 .net-standard-1.5

2
推荐指数
1
解决办法
3188
查看次数