2017-03-17 6 views
2

내 텍스트 파일이 내 수업 라이브러리 프로젝트에 있습니다. 나는 그것의 빌드 작업이 내용으로 설정하고 새로운 경우 복사 설정 출력 디렉토리에 복사, 그래서 .csproj 같은 섹션이있다 : 나는에서 텍스트 파일을 사용할 필요가 있기 때문에 나는이 일을 해요Visual Studio 2017에서 만든 NuGet 패키지에 클래스 라이브러리 옆에 텍스트 파일을 포함하려면 어떻게해야합니까?

<ItemGroup> 
    <Content Include="MyFile.txt"> 
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
    </Content> 
</ItemGroup> 

을 내 최종 사용자가 편집 할 수있게하려면 임베디드 리소스로 사용할 수 없습니다. 내가 다른 프로젝트에서 패키지를 참조 할 때

<contentFiles> 
    <files include="any/net46/MyFile.txt" buildAction="Content" /> 
    <files include="any/netstandard1.3/MyFile.txt" buildAction="Content" /> 
</contentFiles> 

그런 다음, MyFile.txt라는이 빌드와 프로젝트의 루트에 나타납니다 : 나는 패키지를 만들 VS 2017 사용할 때 그것은 나에게이 같은 섹션의 .nuspec을 제공합니다 작업을 컨텐츠로 설정하고 출력 디렉토리에 복사를 복사하지 않음으로 설정하십시오. 그냥 참조하는 프로젝트에 포함되지 않고 .dll과 함께 파일을 포함하기 만하면됩니다.

답변

1

.nuspec을 유지하려면 수동으로 편집하고 copyToOutput="true" 속성을 추가하십시오.

<Content Include="MyFile.txt"> 
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
    <IncludeInPackage>true</IncludeInPackage> 
    <BuildAction>Content</BuildAction> 
    <CopyToOutput>true</CopyToOutput> 
</Content> 
+0

을 :

당신은 (경우 필요한 조치를 구축하고 사용자 정의 설정할 수 있습니다) VS2017를 사용하고 .csproj을 편집하려면, 당신은 당신의 .csproj 파일에 추가 메타 데이터를 지정 할 수 있어야하는 경우 내가 기억할 수있는 한, 나는 이런 종류의 것들을 시도했고 그들은 나를 움직이지 않았다. 다른 사람이 필요하면 다음 해결 방법을 사용했습니다. http://stackoverflow.com/a/30386836/1676558 – user1676558