0

これを説明する方法がよくわからないので、多少大雑把な詳細については許してください。しかし、私が観察したことは次のとおりです。C#で記述されたクラスアセンブリを参照するC#で記述されたWindowsストアアプリがあります。これもC#(.net)で記述されています。 4.5)このアプリをラップトップで使用しています-ストアバージョンの場合もあれば、VisualStudioを介した最新バージョンの場合もあります

次に、他の作業のために完全に分離されたプロジェクトを作成し、同じアセンブリを再利用したいと思いました。これらは私のデモプロジェクトにすぎないので、コードをディスク上の別の場所にコピーして、2番目のプロジェクトに含めました。

どちらのプロジェクトもうまくいきました。

それ以来、Windowsストアアプリで使用されるプロジェクトのコードを変更しました-パブリック静的メソッドに2番目のパラメーターを追加しました-それ以来、2番目のプロジェクトでコンパイル時エラーが発生します。口論'。

説明できません。

F12を使用して、エラーの原因となっている行からメソッドの定義を取得すると、メソッドのシグネチャが表示され、間違いなく1つのパラメーターが必要です(このバージョンでは)。bin / debugフォルダー内のアセンブリでTelerikのJustDecompileを使用しましたが、メソッドが1つのパラメーターのみを使用していることがわかります。

メソッドを呼び出すときにnullの2番目のパラメーターを追加すると、ソリューション内のバージョンで1つのパラメーターのみが明らかに必要なメソッドにもかかわらず、ビルドできます。

参照はプロジェクト参照であり、パスは適切な場所を指し、ローカルへのコピーはtrueに設定されています。

アセンブリ定義の新しいバージョンが使用される理由がわかりませんか?

Windowsストアアプリケーションをアンインストールしようとしましたが、役に立ちませんでした

何か案は?

4

1 に答える 1

1

ビルドによって取られた解決経路で何かが起こっているように聞こえます。チェックするいくつかのことは次のとおりです。

  • GACに配置されている新しいアセンブリです。その場合、これによりビルドがGACアセンブリに解決される可能性があります(GACは通常、解決経路の早い段階にあるため)
  • プロジェクト内のヒントパスは正確に正しいです(つまり、変更がないコピーを指している)-これを確認する最良の方法は、テキストエディタでプロジェクトファイルを開いてそこで確認することです。
  • (期待するものへの参照に加えて)新しいアセンブリへの誤った参照がありますか?

また、参照の「特定のバージョンを使用」設定を試して、変更がないバージョンに解決するように強制することもできます。

于 2013-01-08T20:45:35.083 に答える