/// <summary> /// Adds a library to the package. /// </summary> /// <param name="targetFramework">The <see cref="NuGetFramework" /> of the library.</param> /// <param name="filename">An optional filename for the library. The default value is <PackageId>.dll.</param> /// <param name="namespace">An optional namespace for the library. The default value is <PackageId>.</param> /// <param name="className">An optional class name for the library. The default value is <PackageId>_Class.</param> /// <param name="assemblyVersion">An optional assembly version for the library. The default value is "1.0.0.0"</param> /// <returns>The current <see cref="PackageRepository" />.</returns> public PackageRepository Library(NuGetFramework targetFramework, string filename = null, string @namespace = null, string className = null, string assemblyVersion = "1.0.0.0") { if (_packageManifest == null) { throw new InvalidOperationException(Strings.ErrorWhenAddingLibraryRequiresPackage); } if (string.IsNullOrWhiteSpace(filename)) { filename = $"{_packageManifest.Metadata.Id}.dll"; } if (string.IsNullOrWhiteSpace(className)) { className = $"{_packageManifest.Metadata.Id}_Class"; } _packageManifest.AddDependencyGroup(targetFramework); return(File( Path.Combine("lib", targetFramework.GetShortFolderName(), filename), fileInfo => CreateAssembly(fileInfo, @namespace, className, assemblyVersion, targetFramework.GetDotNetFrameworkName(DefaultFrameworkNameProvider.Instance)))); }