0

在我的开发机器上从 Windows XP 迁移到 Windows 7 后,我遇到了一些奇怪的行为。

我有一个在 Visual Studio 2010 中创建的 WPF 4 解决方案。解决方案中有 3 个项目 - Common、MyApp 和 Infrastructure。我正在使用 Prism 4。最初的解决方案是在 Windows XP 上创建的,出于各种原因,我将其重建为一个新的解决方案。我添加了 Common 和 MyApp 并且都独立成功构建。问题在于基础设施。

为了重建项目,我创建了项目文件夹并添加了现有代码文件。当我开始时,我测试了构建,它在一定程度上很好。输入所有文件后,我现在在尝试构建时收到这样的错误(Resharper 建议一切都很好);

The type or namespace name 'Windows' does not exist in the namespace 'Infrastructure.System' (are you missing an assembly reference?) CircularProgressBar.g.cs
The type or namespace name 'Windows' does not exist in the namespace 'Infrastructure.System' (are you missing an assembly reference?) CircularProgressBar.xaml
The type or namespace name 'Delegate' does not exist in the namespace 'Infrastructure.System' (are you missing an assembly reference?)  SearchView.g.cs
The type or namespace name 'CodeDom' does not exist in the namespace 'Infrastructure.System' (are you missing an assembly reference?)   CircularProgressBar.g.cs

共同的主题是列出的所有文件都与 XAML 相关。Infrastructure项目是WPF用户控件之一,所有的xaml文件都有Page的Build Action。

现在真的很奇怪。为了尝试确定问题出在哪里,我开始从项目中一一排除文件夹。我从 InteractionRequests 开始,因为我一直在这里遇到麻烦。不用找了。然后我排除了下一个(系统)和低,看到解决方案构建并显示主窗口。因此,我开始将它们一一添加回来 - 例如,如果我添加 UserType

namespace Infrastructure.System
{
  public enum TypeOfUser
  {
    User,
    Admin    
  }

  public enum TypeOfTrialUser
  {
    User,
    Admin
  }

  public enum UserAccessStatus
  {
    Granted,
    Revoked
  }
}

错误返回。再次排除它,它们就消失了。其他文件也有同样的故事,所以它与文件本身无关(正如你所期望的那样)。当错误返回时,它仍然引用相同的 xaml 相关文件列表(*.xaml 或 *.g.cs)。

有任何想法吗?我不得不承认我对此完全感到困惑!可能与文件权限有关?智商到头了……

4

1 回答 1

0

好吧,我解决了它,但我不确定为什么会出现问题。关键是命名空间 Infrastructure.System - 将其重命名为 Infrastructure.Sys,更新了 using 语句并且所有构建都成功。某种故障?

于 2012-09-07T15:54:52.487 回答