2017-03-17 166 views
2

我的文本文件在我的类库项目中。我有它的生成操作设置为内容和复制设置复制是否有更新的输出目录,这样的.csproj具有类似于部分:如何在Visual Studio 2017为我创建的NuGet包中包含文本文件以及我的类库?

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

我这样做,因为我需要从使用的文本文件我类库,并且不能将其作为嵌入式资源,因为我想允许最终用户对其进行编辑。当我使用VS 2017年创建的软件包它给了我这样的一个部分.nuspec:

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

后来,当我从其他项目中引用的包,MyFile.txt的出现在与生成项目的根操作设置为内容但复制到输出目录设置为不复制。我只想将该文件包含在.dll中,而不包含在引用项目中。

回答

1

如果要保留.nuspec,则可以手动编辑它并添加copyToOutput="true"属性。

如果您正在使用VS2017和要编辑的.csproj,那么你应该能够在您的.csproj文件中指定额外的元数据(你可以设置自定义生成操作如果有必要):

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

据我记得,我尝试过这些东西,但他们并没有为我工作。我使用了以下解决方法,如果有人需要:http://stackoverflow.com/a/30386836/1676558 – user1676558

相关问题