我正在通过.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>