编辑4(解决时删除了编辑1至3)
我的最后一个问题是我想要多个目标,但似乎无法正常工作。我必须将它们全都放在同一个目标上,因为它很适合不同的名称,所以我必须更改一些内容,让我可以仅查看目标名称。
你好
我正在尝试获取MsBuild,并且可以正常工作。...如果我所有的东西都在同一个目标标记中。如果我有多个标签,它只会做第一个,就是这样。其他目标均未完成。
<Target Name="Test1">
<ItemGroup>
<JavaScriptFiles Remove="@(JavaScriptFiles)" />
<JavaScriptFiles Include="..\PathHere\Javascript.js"/>
</ItemGroup>
<CompressorTask
JavaScriptFiles="%(JavaScriptFiles.Identity)"
ObfuscateJavaScript="True"
PreserveAllSemicolons="False"
DisableOptimizations="Nope"
EncodingType="Default"
DeleteJavaScriptFiles="false"
LineBreakPosition="-1"
JavaScriptOutputFile="../Path/Here/(JavaScriptFiles.FileName).min.js"
LoggingType="ALittleBit"
ThreadCulture="en-au"
IsEvalIgnored="false"
/>
<ItemGroup>
<JavaScriptFiles Remove="@(JavaScriptFiles)" />
<JavaScriptFiles Include="..\PathHere\Javascript2.js"/>
</ItemGroup>
<CompressorTask
JavaScriptFiles="%(JavaScriptFiles.Identity)"
ObfuscateJavaScript="True"
PreserveAllSemicolons="False"
DisableOptimizations="Nope"
EncodingType="Default"
DeleteJavaScriptFiles="false"
LineBreakPosition="-1"
JavaScriptOutputFile="../Path/Here/%(JavaScriptFiles.FileName).min.js"
LoggingType="ALittleBit"
ThreadCulture="en-au"
IsEvalIgnored="false"
/>
</Target>
因此上述工作。如果我这样做
<Target Name="Test2">
<ItemGroup>
<JavaScriptFiles Remove="@(JavaScriptFiles)" />
JavaScriptFiles Include="..\PathHere\Javascript3.js"/>
</ItemGroup>
<CompressorTask
JavaScriptFiles="%(JavaScriptFiles.Identity)"
ObfuscateJavaScript="True"
PreserveAllSemicolons="False"
DisableOptimizations="Nope"
EncodingType="Default"
DeleteJavaScriptFiles="false"
LineBreakPosition="-1"
JavaScriptOutputFile="../Path/Here/%(JavaScriptFiles.FileName).min.js"
LoggingType="ALittleBit"
ThreadCulture="en-au"
IsEvalIgnored="false"
/>
</Target>
然后第一个目标将消失,而上面的一个将不执行任何操作。
最佳答案
我不确定,但是似乎对MSBuild变量访问有些困惑。有三种方法可以使用msbuild访问变量。
$() Extracts the value of a property
@() Extracts the value of an item as a list, that is, vector
%() Extracts value of an item as a single string, that is, scalar
看起来您实际上想在使用
@()
的地方使用%()
,但是我承认我很难理解您的问题所在。您说它“什么也不会做”,但是很有可能它正在做某事,即使它似乎没有做任何事。more here
关于jquery - 如何使它自动在所有文件上运行?适用于Visual Studio的YUI压缩器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2823271/