gpt4 book ai didi

c# - ItemGroup 项目范围,或者 "Why does MSBuild hate me?"

转载 作者:可可西里 更新时间:2023-11-01 09:03:44 24 4
gpt4 key购买 nike

我有一个解决方案,我试图在 TFS 上构建。我想更新所有相应文件的版本,但我一直在努力完成这项工作。有很多关于如何操作的链接,但由于一个小问题……范围,它们都不适合我。

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="DesktopBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<Target Name="DesktopBuild">
<CallTarget Targets="GetFiles" />

<Message Text="CSFiles: '@(CSFiles)'" />
</Target>

<Target Name="GetFiles">
<ItemGroup>
<CSFiles Include="**\AssemblyInfo.cs" />
</ItemGroup>
<Message Text="CSFiles: '@(CSFiles)'" />
</Target>
</Project>

我的树看起来像这样:

  • 测试.proj
  • 应用.sln
  • 应用程序(文件夹)
    • main.cs
    • 属性(文件夹)
      • AssemblyInfo.cs

当我从解决方案文件夹运行“c:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe test.proj”时...我得到以下输出:

Microsoft (R) Build Engine Version 3.5.30729.1
[Microsoft .NET Framework, Version 2.0.50727.3074]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

Build started 7/6/2009 3:54:10 PM.
Project "D:\src\test.proj" on node 0 (default targets).
CSFiles: 'application\Properties\AssemblyInfo.cs'
DesktopBuild:
CSFiles: ''
Done Building Project "D:\src\test.proj" (default targets).


Build succeeded.
0 Warning(s)
0 Error(s)

Time Elapsed 00:00:00.04

那么,我怎样才能使我的 ItemGroup 具有全局范围?编译器和 TeamBuild 使用的所有 Targets 文件都做同样的事情,而且它们似乎都是全局的……我不明白为什么这对我不起作用。

有什么帮助吗?

最佳答案

您是否尝试过使用 DependsOnTarget 而不是 CallTarget?可能是 CallTarget 导致了范围问题。

关于c# - ItemGroup 项目范围,或者 "Why does MSBuild hate me?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1088950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com