我可以用DNX / DNU构建一个“老派”PCL吗?

时间:2016-03-22 07:22:30

标签: nuget portable-class-library dnu

Noda Time 1.3.1中,我们的.csproj文件引用了配置文件328,我们的.nuspec文件将结果放入

lib\portable-net4+sl5+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1+XamariniOS1

对于Noda Time 2.0,我已将所有内容移至DNX / DNU(当然很快就会成为dotnet cli)。但是,我们现在想要构建一个定期更新的包,其中包含来自IANA的最新时区信息。我们将构建一个版本,依赖于Noda Time 1.3.1,另一个版本依赖于Noda Time 2.0.0。

喜欢在DNX / DNU中完成所有这些操作,但我不清楚是否有任何方法告诉DNX / DNU这个目标框架。请注意,我想让1.3.1的所有当前用户都可以使用它,它也依赖于1.3.1,所以我认为目标框架集基本上必须是相同的。

我尝试过以下框架:

  • portable-net40 + sl5 + win8 + wpa81 + wp8(根据Nuget documentation我预计最有可能工作)
  • 便携式NET4 + SL5 + netcore45 + wpa81 + WP8 + MonoAndroid1 + MonoTouch1 + XamariniOS1
  • Profile328

在每种情况下,dnu restore都会显示此表单的错误:

  

“portable-net40 + sl5 + win8 + wpa81 + wp8”是一个不受支持的框架。

我怀疑这基本上不是支持的用例,并且我需要坚持这个特定部分的常规csproj文件,但我认为值得问一下我是否缺少东西。

1 个答案:

答案 0 :(得分:35)

过去Xamarin框架存在一些问题,但尝试做这样的事情;

https://github.com/AutoMapper/AutoMapper/blob/93f276fea36dedb2efd861096f881667af880d58/src/AutoMapper/project.json

看看是否有效:

{
  "frameworks": {
    ".NETPortable,Version=v4.0,Profile=Profile328": {
      "frameworkAssemblies": {
        ...
      }
    }
  }
}