我以前在所谓的“控制”我的WPF应用程序项目有一个子文件夹。它包含一个WPF用户控件。我决定到该用户控件移动到我的“意见”的文件夹。由于原来的文件夹是空的,我决定从项目中删除它。

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

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

有帮助吗?

解决方案

我在XAML代码(MainWindow.xaml)具有本地参照控制命名空间。我除去参考,清洁的项目和产生的成功的构建

其他提示

在用户的控制文件,

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

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

而在你的ClassName.xaml.cs,必须更改命名空间如下图所示。

using System;
using System.Windows;

namespace YourOldNamespace{

   public class ClassName{ ....

}

在这两个文件,则必须更换YourOldNamespace为需要一些新的命名空间。

我以前也曾经有过在我的项目与g.cs文件的问题。由于它们是自动产生的,我倾向于只手动删除文件和重建。

不要忘记一点,就是必须检查,看看当你点击了受影响的XAML文件的生成操作属性设置页面(而不是资源)。这是非常有用的知道,当你使用从另一个项目复制XAML复制粘贴,以节省时间。

另外,也要看看的App.xaml和所有的资源字典。无论出于何种原因,VS 2012的替换文件/“整个解决方案”选项,并没有发现在App.xaml中的旧命名空间引用,必须手动更改。固定对我来说。

不要忘记设置Generic.xaml文件太多,

<ResourceDictionary 
                   xmlns:local="clr-namespace:MyOldNameSpace">
</ResourceDictionary>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top