あるコンピューターでVS2008を使用して更新すると、完全に正常に機能するWebサービスがありますが、別のコンピューターでは機能しません。重要な違いは、自動生成されたReference.csの内容です。
正しく機能している環境では、メソッドは完全に修飾されたクラス名を持ち、クラスライブラリ内のクラスを参照します。ただし、問題のある環境では、クラス名は修飾されておらず、部分的なクラスはファイルの終わり近くで宣言されています。例えば
public string MyMethod(MyClass pr_Class)
...
public partial class MyClass {
}
対
public string MyMethod(Class.Library.Namespace.MyClass pr_Class)
これにより、次のようなエラーが発生します。
'<ClassType>' is an ambiguous reference between <ClassLibraryNamespace>.ClassType and <WebReferenceNamespace>.ClassType
コードはソース管理下にあります。作業環境へのチェックアウトはすぐに機能します。問題のある環境へのチェックアウトは、reference.csが作業環境のように手動で編集された場合にのみ機能します。問題のある環境から作業中の環境にプロジェクトを手動で転送するには、コンパイルを可能にするために「Web参照の更新」を実行するだけで済みます。両方のReference.csファイルは、同じツールバージョンによって自動生成されると主張しています。良好な環境の設定が他の環境にエクスポートされました。これまでのところ成功していません...
どんなアイデアでも大歓迎です!
マット