如何使NuGet程序包独立于其框架别名?

时间:2018-08-14 15:43:08

标签: msbuild nuget nuget-package msbuild-task

我正在通过.csproj创建一个包含MSBuild任务的NuGet程序包(我希望不退回到.nuspec或.nuproj)。

MSBuild任务被编译为一个与.NET Standard 1.5兼容的程序集和一个与.NET Framework 4.5兼容的程序集(因此TargetFrameworks设置为net45;netstandard1.5)。

因此,只有与这两个.NET版本兼容的项目才能使用NuGet软件包。

但是,我希望NuGet包的行为类似于“元包”,从而允许每个项目都使用它。确实,该程序包不提供任何lib文件夹,但是所有程序集都在build中,并且只能由MSBuild使用。

此外,我还有另一个NuGet包,其中仅包含.targets.props文件,这取决于上面提到的NuGet。我还希望此NuGet对我的任务NuGet具有与框架无关的依赖性。

是否有可能实现项目目标框架与NuGet目标框架之间的分离?

理想情况下,我希望包含MSBuild任务的软件包在mainfest中声明下面的行,同时仍然使用.csproj生成NuGet文件:

<dependencies>
    <group targetFramework=".NETFramework4.5" />
    <group targetFramework=".NETStandard1.5" />
</dependencies>

0 个答案:

没有答案