C# 指定content-Nuget的生成操作
告诉Nuget包将所有css文件添加为嵌入式资源(即构建操作是嵌入式资源)的最简单方法是什么 我正试图通过工具文件夹中的install.ps1来完成这项工作,但仍然一无所获 注意:我正在从目录结构(tools\content\lib)创建包 这是我的install.ps1,它不工作C# 指定content-Nuget的生成操作,c#,visual-studio,powershell,embedded-resource,nuget,C#,Visual Studio,Powershell,Embedded Resource,Nuget,告诉Nuget包将所有css文件添加为嵌入式资源(即构建操作是嵌入式资源)的最简单方法是什么 我正试图通过工具文件夹中的install.ps1来完成这项工作,但仍然一无所获 注意:我正在从目录结构(tools\content\lib)创建包 这是我的install.ps1,它不工作 param($installPath, $toolsPath, $package, $project) $MsbNS = @{msb = 'http://schemas.microsoft.com/developer
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来更改BuildAction,而不是与xml混为一谈。发件人: 此链接显示枚举值:
福勒先生,您真是太棒了。:)该枚举中只列出了几个构建操作。有没有办法指定“TypeScriptCompile”生成操作?@BSick7,呵呵,我在寻找同样的东西,找到任何东西?如果你想访问文件夹中的文件,你必须像这样访问它:$project.ProjectItems.Item(“SomeFolder”).ProjectItems.Item(“ReleaseNotes.txt”)来设置其他任何操作:$Item.Properties.Item(“ItemType”).Value=“MyOwnBuildActionChoice”
$item = $project.ProjectItems | where-object {$_.Name -eq "ReleaseNotes.txt"}
$item.Properties.Item("BuildAction").Value = [int]3