【问题标题】:MSBuild Fails On C# WPF Application ProjectMSBuild 在 C# WPF 应用程序项目上失败
【发布时间】:2012-10-04 15:38:40
【问题描述】:

我已经为解决我一直遇到的 MSBuild 问题困扰了大约 3 天。在我的解决方案中,我有 10 个项目。 9 个项目是 C# 类项目,1 个作为主要 EXE 的项目是 C# WPF 应用程序项目。

我创建了一个门控 MSBuild,它会在签入 TFS 服务器时触发。到目前为止,MSBuild 中只包含了 9 个 C# 类项目,因为 C# WPF 应用程序项目仍在构建中。 C# WPF 应用程序项目现已完成并在多台计算机上完全正常工作(运行时和编译时),没有问题。

我更改了构建以包含新的 C# WPF 应用程序项目,以便可以签入它。问题在于现在包含此 C# WPF 应用程序项目,MSBuild 失败并出现以下两个错误:

 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.WinFX.targets (269): File 'Properties\DesignTimeResources.xaml' cannot be found.
 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.WinFX.targets (269): The project file contains a property value that is not valid.

考虑到整个解决方案在多台计算机上构建和工作,MSBuild 因此失败似乎很奇怪。如果我从 MSBuild 中删除 C# WPF 应用程序项目,一切都会再次正常,因此 C# WPF 应用程序项目有一些奇怪的东西导致 MSBuild 失败。

我在这里变得绝望,所以非常感谢任何帮助。提前感谢您提供的任何帮助或见解!

【问题讨论】:

  • 您是否确认您正在提交文件“Properties\DesignTimeResources.xaml”以及您的更改?
  • 我们没有任何同名的文件。
  • 然后检查您是从 .csproj 文件还是从其他 .XAML 文件中提取此文件。在记事本中打开 .csproj 并搜索它。对于 .XAML 文件也是如此。

标签: wpf visual-studio-2010 c#-4.0 msbuild


【解决方案1】:

这看起来好像您在签入中包含文件“Properties\DesignTimeResources.xaml”。

如果您之前只是在多台机器上复制或压缩文件,只需检查以确保它包含在进入 TFS 的文件中。

【讨论】:

  • 我们没有任何同名的文件。
  • 经过仔细检查,我们确实找到了那个丢失的文件,但没有人知道它来自哪里。删除后签入是完美的,应用程序仍然按预期工作。我一直以为是服务器错误。谢谢
  • 被低估的答案。头拍打和呻吟总是会接踵而至。老实说令人失望的是,TFS 构建服务器上的 Microsoft 错误消息不足以表明关键文件实际上丢失了。
【解决方案2】:

MS Expression Blend 喜欢将Properties\DesignTimeResources.xaml 文件添加到您的项目中,以便它知道在哪里可以找到通用资源,例如您的全局 styles.xaml 文件。

如果您在 Expression Blend 中打开项目,它会将此文件添加到项目中,但可能不会将文件添加到源代码控制中。在 Visual Studio 中的修复是转到解决方案资源管理器,导航到属性,然后右键单击 DesignTimeResources.xaml。如果您不再使用 Blend,则只需删除该文件,否则将其添加到源代码控制中。

【讨论】:

    【解决方案3】:

    我在 VS2017 WPF 项目中遇到了类似的错误(BG1002:找不到文件),该项目无法构建,因为尽管我不再使用该图标,但缺少某个图标文件。我通过手动编辑 csproj 文件以重命名记事本中的引用解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-29
      • 2018-10-12
      • 2019-09-02
      • 2019-06-18
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多