指定内容的构建操作 – Nuget

告诉Nuget包将所有css文件添加为嵌入式资源(即构建操作是嵌入式资源)的最简单方法是什么。

我试图通过工具文件夹中的install.ps1来实现它,但仍然无法到达任何地方

注意:我正在从目录结构(tools \ content \ lib)创建包

这是我的install.ps1,它不起作用。

param($installPath, $toolsPath, $package, $project) $MsbNS = @{msb = 'http://schemas.microsoft.com/developer/msbuild/2003'} function EmbeddContent($ProjectLink, [string]$XPath) { $nodes = @(Select-Xml $XPath $ProjectLink -Namespace $MsbNS | Foreach {$_.Node}) foreach ($node in $nodes) { if($node.Include.StartsWith("Content\css")) { $cet = $node.ownerdocument.CreateElement("EmbeddedResource") $cet.setAttribute("Include", $node.Include) $parent = $node.ParentNode [void]$parent.RemoveChild($node) [void]$parent.Appendchild($cet) } } } $project.Save() $fileLocation = $project.FileName $dte.ExecuteCommand("Project.UnloadProject"); $proj = [xml](gc $fileLocation) Embeddcontent $fileLocation '//msb:Project/msb:ItemGroup/msb:Content' $proj.Save($fileLocation) 

请帮忙 ..

您可以使用DTE而不是使用xml来更改BuildAction。 来自http://nuget.codeplex.com/discussions/227696 :

 $item = $project.ProjectItems | where-object {$_.Name -eq "ReleaseNotes.txt"} $item.Properties.Item("BuildAction").Value = [int]3 

此链接显示枚举值: http : //msdn.microsoft.com/en-us/library/aa983962(VS.71).aspx