尝试创建用于文件类型为的目标的项组 - Filename.CSS.ASPX
<Target Name="Test" AfterTargets="Build">
<Message Text="Project $(ProjectName) Test PostBuild" Importance="high" />
<Message Text="%(Content.FullPath)" Condition="%(Extension) == '.aspx' AND %(Filename.Contains(css))" Importance="high" />
</Target>
Run Code Online (Sandbox Code Playgroud)
关于编译;
Error 1 Expected "%(Filename.Contains(css))" to evaluate to a boolean instead of "%(Filename.Contains(css))", in condition "%(Extension) == '.aspx' AND % (Filename.Contains(css))". C:\Projects\TestProj\TestProj\TestProj.csproj 58 38 TestProj
Run Code Online (Sandbox Code Playgroud)
有关扩大评估属性的建议吗?
<ItemGroup>
<!-- Unit Test Projects-->
<MyGroup Include="Hello.xml" />
<MyGroup Include="GoodBye.xml" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
如何创建迭代此列表并执行某项操作的任务?
<XmlPeek XmlInputPath="%(MyGroup.Identity)"
Query="/results">
<Output TaskParameter="Result"
ItemName="myResult" />
</XmlPeek>
Run Code Online (Sandbox Code Playgroud)
如果myresult里面有某个文本,我想发一条错误信息.然而,对于我的生活,我无法弄清楚如何迭代Msbuild中的数组...任何人都知道如何实现这一目标?
如果我从VS2017将新的resx文件添加到我的新dotnetstandard 2.0 SDK项目中的properties文件夹中,
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Remove="Properties\foo.resx" />
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\MyWords.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>MyWords.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\MyWords.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>MyWords.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
但是,我更希望以与处理普通CS文件相同的方式进行处理。项目为空,并且搜索文件系统。什么是达到上述目的的笨拙方法,所以当我添加新文件时,它们不会以显式声明的形式结束。
我的第一次尝试是
<ItemGroup>
<Compile Update="Properties\**\*.designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Properties\%(Filename).resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\**\*.resx">
<Generator>ResXFileCodeGenerator</Generator>
</EmbeddedResource>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
但这行不通,因为
Properties\%(Filename).resx
Run Code Online (Sandbox Code Playgroud)
扩展到
Properties\Foo.designer.resx
Run Code Online (Sandbox Code Playgroud)
代替
Properties\Foo.resx
Run Code Online (Sandbox Code Playgroud)