2014-10-19 4 views
2

내 로컬 패키지를 배치하기 위해 로컬 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 

내가이 떨어져 "전통적인"들에서, 추가 dependenties이없는 (MyProject를에 정의 된 함수를 포함하는 내 NuGet 패키지를 싶습니다 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 파일이 매우 긴, 그래서 나는 그것의 조각을 붙여 넣을 수 있습니다, 그것은 더 많은 콘텐츠 인 경우 패키지 (소리를 만들기위한 책임이있다 필요한 파일) :

답변

1

파일이 Nuget 패키지의 올바른 대상 폴더에 저장되지 않았으므로 Nuget은 파일을 참조하려고하는지 알지 못합니다. 그들은 당신이 예를 들어 당신의 nuget 패키지에 lib 폴더에 참조 할 DLL을 넣을 수 있도록

당신은 파일을 변경해야

<files> 
    <file src="directory\MyProject.dll" target="lib" /> 
</files> 

또는 가짜 자체에서 :

Nuget(
    { p with 
      Files = [@"directory\MyProject.dll", Some @"lib", None] }) 

(하지만 당신이 FAKE에서 그것을하고 싶다면 으로 설정 섹션을 @@[email protected]@으로 대체해야합니다.

+0

잘 작동합니다 - 감사 :). –

관련 문제