标签: portable-class-library

来自可移植类库的Nuget:值不能为null或空字符串.参数名称:profileValue

是)我有的

我有MyProj.Backend.Contracts.csproj以下可移植类库

project.json:

{
  "supports": {
    "net46.app": {},
    "uwp.10.0.app": {},
    "dnxcore50.app": {}
  },
  "dependencies": {
    "Microsoft.NETCore": "5.0.0",
    "Microsoft.NETCore.Portable.Compatibility": "1.0.0",
    "NuSpec.ReferenceGenerator": "1.4.2"
  },
  "frameworks": {
    "dotnet": {
      "imports": "portable-net452+win81"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

和nuspec:

<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
    <id>MyProj.Backend.Contracts</id>
    <version>1.0.0</version>
    <dependencies>
      <group targetFramework="dotnet">
        <dependency id="System.Resources.ResourceManager" version="4.0.0" />
        <dependency id="System.Runtime" version="4.0.20" />
      </group>
  </metadata>
</package>
Run Code Online (Sandbox Code Playgroud)

请注意,我已将NuSpec.ReferenceGenerator添加到我的项目中,将''添加到我的项目json中.

但是,我仍然无法打包我的PCL库:

 nuget pack MyProj.Backend.Contracts.csproj
Run Code Online (Sandbox Code Playgroud)

  Attempting to build package from 'MyProj.Backend.Contracts.csproj'.
  Packing files from 'C:\Projects\MyProj\Backend\Contracts\Dev\bin\Contracts'.
  Using ''MyProj.Backend.Contracts.csproj.nuspec' for metadata.
  Value cannot be null or an empty string. …
Run Code Online (Sandbox Code Playgroud)

nuget nuspec portable-class-library .net-4.6

13
推荐指数
1
解决办法
2085
查看次数

.NET Core和.Net 4.5.2都使用的公共类库

我对.Net Core很新,但已经建立了一个有效的Asp.Net核心WebAPI站点 - 现在我想与另一个项目共享一些代码......

  • 我安装了Update Studio的Visual Studio 2015.
  • 我从这里安装了DotNetCore.1.0.0-VS2015Tools.Preview2.exe .

我想创建一个可以被其他两个库使用的共享库(PCL) - 它只包含没有其他依赖项的基本类/接口.其中一个消费库是一个针对"netstandard1.6"的新vanilla项目,另一个是针对.Net 4.5.2的旧客户端库(如果必须,我可以将其升级到4.6.x).

我已经圆圈了,我不能让netstandard1.6库引用PCL - 我只是被告知类型丢失了:

错误CS0246:找不到类型或命名空间名称'SomeTypeHere'(您是否缺少using指令或程序集引用?)

名为"ClassLibrary1"的project.json的PCL自动生成为:

{
  "supports": {},
  "dependencies": {
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1",
    "NETStandard.Library": "1.6.0"
  },
  "frameworks": {
    "netstandard1.1": {}
  }
}
Run Code Online (Sandbox Code Playgroud)

我的消费库project.json是:

{
  "version": "1.0.0-*",
  "dependencies": {
    "NETStandard.Library": "1.6.0",
    "Newtonsoft.Json": "9.0.1"
  },
  "frameworks": {
    "netstandard1.6": {
      "dependencies": {
        "ClassLibrary1": {
          "target": "project"
        }
      }
    }
  }
}  
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

编辑07/07/2016:

我已经提供了以下解决方案,它演示了我的设置:https: //github.com/JonnyWideFoot/netcore-prototype 请参阅ExperimentClient :: GetLocationAsync我想在.Net 4.5.2/4.6中使用合同库的位置.x客户端.

.net portable-class-library .net-core

13
推荐指数
1
解决办法
4137
查看次数

C#编译器如何决定发出可重定向的程序集引用?

.NET Compact Framework引入了可重定向的程序集引用,现在用于支持可移植类库.

基本上,编译器会发出以下MSIL:

.assembly extern retargetable mscorlib
{
    .publickeytoken = (7C EC 85 D7 BE A7 79 8E )                         
    .ver 2:0:5:0
}
Run Code Online (Sandbox Code Playgroud)

C#编译器如何理解它必须发出一个可重定向的引用,以及如何强制C#编译器甚至在可移植类库之外发出这样的引用?

c# compiler-construction portable-class-library

12
推荐指数
1
解决办法
1080
查看次数

从MSTest Runner或Console App的Debugger下的PortableClassLibrary类消耗ConfiguredTaskAwaitable有什么问题?

注意:这只是一个调试时错误,但非常奇怪.

问题:

在运行Debugger并调用方法时,在单独的可移植库中公开,返回ConfiguredTaskAwaitable,我们得到InvalidProgramException.

再现它:

有2个项目:

  1. PortableClassLibrary(支持.Net 4.5; Windows应用商店; Windows Phone 8),带有1个类:

    public class Weird
    {
        public static ConfiguredTaskAwaitable GetConfiguredTaskAwaitable()
        {
            return new ConfiguredTaskAwaitable();
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. ConsoleApplication与代码:

    static void Main(string[] args)
    {
        Weird.GetConfiguredTaskAwaitable();
    }
    
    Run Code Online (Sandbox Code Playgroud)

笔记:

  1. 替换ConfiguredTaskAwaitableConfiguredTaskAwaitable<T>(通用版本)修复了这个奇怪的问题
  2. 从Debugger下的WP8或Win8应用程序中使用此方法可以正常工作.

目前它导致问题导致我无法在调试器下运行我的单元测试.我被迫改变我的"ObjectUnderTest"实现以返回泛型ConfiguredTaskAwaitable<T>,这对于真实项目来说很好,但仍然只是一种解决方法.

问题是:

有人知道这个错误的原因吗?它绝对与Portable Class Library魔法有关.

c# mstest console-application async-await portable-class-library

12
推荐指数
1
解决办法
528
查看次数

使用便携式类库而不是使用"添加为链接"有什么好处?

是否有人向我解释使用便携式类库而不是使用"添加为链接"的优势是什么?

谢谢

.net code-sharing portable-class-library

12
推荐指数
1
解决办法
3733
查看次数

有没有办法轻松解析可移植类库中的文件路径?

我需要从一个可移植的类库中解析一个路径,然后得到文件名,扩展名,目录名等等.

所有这些方法都很容易从System.IO.Path中访问,但是,这似乎不存在于可移植类库中.是否有这个或其他API的开源替代品可以提供相同的功能?

.net c# file path portable-class-library

12
推荐指数
2
解决办法
1877
查看次数

适用于MonoDroid和MonoTouch的便携式类库

我想为MonoDroid和MonoTouch创建PCL,共享代码AES加密(RijndaelManaged),但Visual Studio不允许我这样做,而是强迫我添加所有其他框架,消息如下:

将自动选择以下框架,因为它们支持在您选择的其他框架之间可移植的所有可用功能:.NET for Windows Store应用程序,.NET Framework 4.5,Windows Phone 8.

这些框架不支持System.Security.Cryptography命名空间.

MonoDroid和MonoTouch的文件放在C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework.NETPortable\v4.5\Profile\Profile78\SupportedFrameworks中,已经包含.NET for Windows Store apps.xml,.NET Framework 4.5.xml,Windows Phone 8.xml.

有人可以建议如何将Mono框架与其他框架隔离,我是否需要新的配置文件或其他内容.

xamarin.ios xamarin.android portable-class-library

12
推荐指数
2
解决办法
5490
查看次数

C#可移植类库 - 如何包含System.Data.Linq

是否可以在可移植类库项目中引用System.Data.Linq?

注意: 我只是想在WP8和WinStore8应用程序之间共享代码[DataContext]

c# windows-phone portable-class-library

12
推荐指数
1
解决办法
5034
查看次数

找不到方法:'Void Newtonsoft.Json.Serialization.DefaultContractResolver.set_IgnoreSerializableAttribute(Boolean)'(webapi和PCL)

类似于这个被标记为重复的问题(所以我无法直接回答).

我有一个webapi项目,它引用了一个PCL项目.我间歇性地得到了这个DefaultContractResolver错误.

我尝试了其他问题的所有故障排除步骤,主要涉及卸载和重新安装nuget软件包.没有帮助.

json.net portable-class-library asp.net-web-api

12
推荐指数
1
解决办法
5799
查看次数

VS 2015中的类库 - 构建跨平台库

我可以在安装了Xamarin的VS 2015中创建不同的类库:

  1. 班级图书馆
  2. 类库(Android)
  3. 类库(包)
  4. 类库(适用于通用应用程序)
  5. 类库(便携式)
  6. 类库(Xamarin.Forms)

我很想知道每个之间的区别 - 只是一个简短的会做:)

情景

我们的团队目前正在开发一个新项目,我们主要针对多个平台 - 网络和移动(Xamarin).虽然我们决定首先关注MVC Web应用程序,但我们希望创建一个包含所有模型和业务类(逻辑)的项目,以便以后可以在我们的项目中使用它.哪个类库最合适?

c# class-library portable-class-library xamarin visual-studio-2015

12
推荐指数
1
解决办法
4496
查看次数