【问题标题】:Remove an old namespace from a g.cs File?从 g.cs 文件中删除旧命名空间?
【发布时间】:2010-11-17 15:50:11
【问题描述】:

我以前在我的 WPF 应用程序项目中有一个名为“Controls”的子文件夹。它包含一个 WPF 用户控件。我决定将该用户控件移动到我的“视图”文件夹中。由于原始文件夹是空的,我决定将其从项目中删除。

因为删除了用户控件和文件夹,我收到编译错误,因为用户控件使用了 ProjectName.Folder 命名空间,现在没有任何引用它。 MainWindow.g.cs 是在 using 语句中引用 ProjectName.Controls 的内容。

我知道 *.g.cs 是 VS 生成的,不能编辑,因为它会被覆盖。我该怎么做才能不允许将该命名空间写入 g.cs 文件?我尝试清理我的解决方案/项目并重建,但没有任何效果。

【问题讨论】:

标签: wpf xaml visual-studio-2010 project-folder


【解决方案1】:

我的 Xaml 代码 (MainWindow.xaml) 中有一个对 Controls 命名空间的本地引用。我删除了引用,清理了项目并成功构建。

【讨论】:

  • 我有同样的问题,但更深层次。我在引用的 ResourceDictionary 中使用了旧命名空间。
  • 你是王者 @chopikadze 这正是我的问题我已经搜索了几个小时没有运气,直到我得到你的小评论......
  • 正确;似乎如果您将“YourClassName.g.cs”读为“YourClassName.xaml”,打开此文件并更正过时的命名空间声明,问题就消失了,鲍勃是你的叔叔。
【解决方案2】:

在您的用户控制文件中,

在您的 ClassName.xaml 中,您必须更改命名空间,如下所示

<UserControl
    x:Class="YourOldNamespace.ClassName"
    ...
    ...
/>

并且在您的 ClassName.xaml.cs 中,您必须更改命名空间,如下所示

using System;
using System.Windows;

namespace YourOldNamespace{

   public class ClassName{ ....

}

在这两个文件中,您必须根据需要将 YourOldNamespace 替换为某个新的命名空间。

【讨论】:

  • 抱歉,我忘记在我的问题中包含该信息。我在控件 xaml 和 cs 文件中适当地更改了命名空间。问题是我的 MainWindow.xaml 引用了旧命名空间,这就是 MainWindow.g.cs 为旧命名空间生成 using 语句的原因。我更正了 xaml,它工作正常。
【解决方案3】:

我以前在我的项目中也遇到过 g.cs 文件的问题。由于它们是自动生成的,我倾向于手动删除文件并重建。

【讨论】:

  • 未来参考:您可以通过清理项目或解决方案来删除“陈旧”文件。
  • @jlafay,谢谢。我有时会忘记这一点,因为我在当前项目的解决方案中遇到了 Clean 问题。
【解决方案4】:

也不要忘记,当您单击受影响的 XAML 文件时,您必须检查 Build Action 属性是否设置为 PAGE(而不是资源)。这有助于了解何时使用复制粘贴从另一个项目复制 XAML 以节省时间。

【讨论】:

    【解决方案5】:

    同时查看 App.xaml 和所有资源字典。无论出于何种原因,VS 2012 的文件替换/“整个解决方案”选项都没有在 App.xaml 中找到旧的命名空间引用,必须手动更改它。帮我修好了。

    【讨论】:

      【解决方案6】:

      不要忘记也更改您的 Generic.xaml 文件,

      <ResourceDictionary 
                         xmlns:local="clr-namespace:MyOldNameSpace">
      </ResourceDictionary>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多