我有一堆用于Web应用程序的帮助程序类,我们希望在.NET Framework应用程序,标准程序集和.NET Core应用程序中使用它们。
我想将它们构建为可以安装在任何地方的Nuget软件包,并为使用该应用程序的目标框架提供正确的引用。
我已经在nuspec文件中尝试了以下操作:
<files>
<file src="**.dll" target="lib" />
<file src="..\Utils.Web.Core\bin\Release\*.dll" target="lib\netcoreapp2.1" />
<file src="..\Utils.Web.Fx\bin\Release\*.dll" target="lib\net461" />
</files>
<references>
<group targetFramework="netstandard2.0">
<reference file="Utils.Web.dll" />
</group>
<group targetFramework="net461">
<reference file="Utils.Web.Fx.dll" />
<reference file="Utils.Web.dll" />
</group>
<group targetFramework="netcore45">
<reference file="Utils.Web.Core.dll" />
<reference file="Utils.Web.dll" />
</group>-->
</references>
我认为应该做的是将正确的dll复制到正确的目标.lib文件夹并引用这些程序集。但是,末尾的nupkg不包含任何.lib文件夹。
我想做的是可能的,我想念的是什么吗?
答案 0 :(得分:0)
不能将引用分组与文件列表混在一起,请查看nuget spec文件的架构定义,
.nuspec reference - Explicit assembly reference
组格式不能与平面列表混用。
我可以使用以下规范创建和使用nuget pacakge,
String src = " 8 2 / 5";
String Regex = @"([1-9])([0-9]*)([ ])([1-9])([0-9]*)((.)([0-9]+)|)([ ])([- / + *]){1}([ ])([1-9])([0-9]*)((.)([0-9]+)|)";
if(!Regex.IsMatch(src , Regex ))
return;
float Base = float.Parse(Base.Split(" ")[0], CultureInfo.InvariantCulture.NumberFormat);
float Devided= float.Parse(Base.Split(" ")[1], CultureInfo.InvariantCulture.NumberFormat);
float Operator= float.Parse(Base.Split(" ")[2], CultureInfo.InvariantCulture.NumberFormat);
float Denominator= float.Parse(Base.Split(" ")[3], CultureInfo.InvariantCulture.NumberFormat);
//TODO your operation here
考虑使用文件元素的 target 属性,或**使用引用**对它们进行显式分组。