Я пытался настроить свой локальный источник NuGet, чтобы разместить там свои собственные пакеты. Поэтому я создал папку и установил путь в Visual Studio - это отлично работает.Локальный источник NuGet + создание пакетов с FAKE
В настоящее время у меня возникла проблема с созданием пакета с FAKE. Файл nupkg успешно создается, но когда я пытаюсь добавить ссылку на него из другого проекта, ничего не происходит (т. Е. VS говорит, что пакет был успешно добавлен, но я не вижу его в разделе «Ссылки»).
Мой пример проекта имеет следующую структуру:
-- root
-- MyProject (project type: F# library)
-- MyProject.Test (Xunit)
build.bat
build.fsx
MyProject.nuspec
MyProject.sln
И я хочу, чтобы мой пакет NuGet содержать функции, определенные в MyProject (Он не имеет каких-либо дополнительных dependenties, помимо «традиционных» как FSharp.Core). Содержание .nuspec файла выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<id>@[email protected]</id>
<version>@[email protected]</version>
<authors>@[email protected]</authors>
<owners>@[email protected]</owners>
<summary>@[email protected]</summary>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>@[email protected]</description>
<releaseNotes>@[email protected]</releaseNotes>
@[email protected]
@[email protected]
</metadata>
<files>
<file src="**\*.*" exclude="**\*.pdb;**\*.xml" />
</files>
</package>
Файл build.fsx довольно долго, так что я буду вставлять только часть его, которая отвечает за создание пакета (рупор, если больше содержание необходимо):
let buildDir = @".\build\"
let testDir = @".\test\"
let deployDir = @".\deploy\"
let nugetDir = @".\nuget\"
Target "CreateNuget" (fun _ ->
XCopy buildDir nugetDir
"MyProject.nuspec"
|> NuGet (fun p ->
{p with
Authors = authors
Project = projectName
Description = projectDescription
Version = version
NoPackageAnalysis = true
OutputPath = nugetDir
})
)
Target "Publish" (fun _ ->
!! (nugetDir + "*.nupkg")
|> Copy deployDir
Прекрасно работает - благодаря :). –