不向Visual Studio项目添加文件的NuGet包

不向Visual Studio项目添加文件的NuGet包,nuget,nuget-package,Nuget,Nuget Package,我刚刚开始学习NuGet,并试图了解它。我可能想用NuGet来做一些不该做的事情,但我希望有人能给我一些提示 我的问题:我正在尝试创建一个包含不同文件的包。文件类型不同(图像、文本文件等)。我希望该包能够工作,以便将文件添加到我的应用程序根目录中,但不包括在我的VisualStudio项目中。我已经尝试过了,但是文件总是添加到项目中。有办法解决这个问题吗 谢谢今天没有直接的支持。安装软件包时,放入内容文件夹中的任何内容都会添加到项目中 但是,您应该能够使用install.ps1脚本实现此结果,例

我刚刚开始学习NuGet,并试图了解它。我可能想用NuGet来做一些不该做的事情,但我希望有人能给我一些提示

我的问题:我正在尝试创建一个包含不同文件的包。文件类型不同(图像、文本文件等)。我希望该包能够工作,以便将文件添加到我的应用程序根目录中,但不包括在我的VisualStudio项目中。我已经尝试过了,但是文件总是添加到项目中。有办法解决这个问题吗


谢谢

今天没有直接的支持。安装软件包时,放入内容文件夹中的任何内容都会添加到项目中

但是,您应该能够使用install.ps1脚本实现此结果,例如:

  • 将所有文件放在包中某个文件夹的web根目录中
  • 使用install.ps1中的PowerShell将该文件夹中的所有内容复制到web根目录中,这可能只是一行程序

您可以将文件放在nuget数据包中的另一个文件夹(不是内容)中,并将.targets文件添加到nuget数据包中,在生成时复制这些文件

MyProject.nuget文件:

...
<files>
    <file src="bin\$configuration$\$id$.pdb" target="lib\net45"/>
    <file src="C:\MyResourceFolder\**" target="resources"/>
    <file src="MyProject.targets" target="build"/>
  </files>
</package>
。。。
MyProject.targets文件:

<?xml version="1.0"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <None Include="$(MSBuildThisFileDirectory)\..\resources\**">
      <Link>\Recources\%(RecursiveDir)\%(Filename)%(Extension)</Link>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
   </None>
  </ItemGroup>
</Project>

\资源\%(RecursiveDir)\%(文件名)%(扩展名)
保存最新
构建最终应用程序时,文件将被复制到构建目标文件夹