9

以前、WPF アプリケーション プロジェクトに「Controls」というサブフォルダーがありました。これには、WPF ユーザー コントロールが含まれていました。そのユーザー コントロールを "Views" フォルダーに移動することにしました。元のフォルダが空だったので、プロジェクトから削除することにしました。

ユーザー コントロールとフォルダーが削除されているため、ユーザー コントロールがProjectName.Folder名前空間を使用していて、何も参照していないため、コンパイル エラーが発生します。MainWindow.g.cs はProjectName.Controls、using ステートメントで参照するものです。

*.g.cs はVSによって生成され、上書きされるため編集できないことを知っています。その名前空間が g.cs ファイルに書き込まれないようにするにはどうすればよいですか? ソリューション/プロジェクトをクリーンアップして再構築しようとしましたが、何も機能しませんでした。

4

6 に答える 6

11

Xaml コード (MainWindow.xaml) に Controls 名前空間へのローカル参照がありました。参照を削除し、プロジェクトをクリーンアップして、ビルドを成功させました。

于 2010-11-17T16:07:30.060 に答える
5

ユーザー制御ファイルで、

ClassName.xamlで、以下に示すように名前空間を変更する必要があります

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

また、ClassName.xaml.csで、以下に示すように名前空間を変更する必要があります

using System;
using System.Windows;

namespace YourOldNamespace{

   public class ClassName{ ....

}

両方のファイルで、必要に応じてYourOldNamespaceを新しい名前空間に置き換える必要があります。

于 2010-11-18T09:03:34.193 に答える
1

App.xaml とすべてのリソース ディクショナリも確認してください。何らかの理由で、VS 2012 のファイルの置換/「ソリューション全体」オプションでは、App.xaml で古い名前空間参照が見つからなかったため、手動で変更する必要がありました。私のためにそれを修正しました。

于 2013-09-19T20:43:13.053 に答える
1

以前にもプロジェクトの g.cs ファイルに問題がありました。それらは自動生成されるため、ファイルを手動で削除して再構築する傾向があります。

于 2010-11-17T16:12:01.317 に答える
1

また、影響を受ける XAML ファイルをクリックしたときに Build Action プロパティが (リソースではなく) PAGE に設定されているかどうかを確認する必要があることも忘れないでください。これは、時間を節約するためにコピーと貼り付けを使用して別のプロジェクトから XAML をコピーするときに知っておくと便利です。

于 2012-02-02T12:40:35.913 に答える
0

Generic.xaml ファイルも変更することを忘れないでください。

<ResourceDictionary 
                   xmlns:local="clr-namespace:MyOldNameSpace">
</ResourceDictionary>
于 2014-08-08T19:53:16.367 に答える