質問

私は以前、「コントロール」と呼ばれる私の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