删除从g.cs文件的旧的命名空间?
-
25-09-2019 - |
题
我以前在所谓的“控制”我的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>
不隶属于 StackOverflow