2011-05-05 118 views
2

我刚刚开始使用NuGet并试图让我的头靠近它。我可能会尝试使用NuGet,因为它不适用于此,但我希望有人能给我一些提示。NuGet包没有添加文件到Visual Studio项目

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

谢谢

回答

5

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

但是,你应该能够使用install.ps1脚本,例如为了实现这一结果:

  • 把所有你想结束了在你的网站根在某些文件夹中的包中的文件
  • 使用install.ps1中的PowerShell将该文件夹中的所有内容复制到Web根目录中,这可能仅仅是一行代码。
0

您可以将您的文件放在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> 

当你建立你的最终应用程序的文件将被copy'ed到构建目标文件夹。

相关问题