2011-09-02 45 views
1

プライベートアクセサやVS2010に奇妙な問題があります。通常、VSとpublicize.exeはxyz_accessor.dllとxyz_accessor.pdbを作成します。 Unitl昨日、私のVSもこれをしました。しかし、VS2010のC#コンパイラを使ってコマンドラインからソリューションを構築したので、VS以外は何もしませんでした。ソリューションはエラーなしで構築されましたが、xyz_accessor.dllを取得する代わりにxyz_accessor.exeが見つかりました。それを実行しようとすると、Windowsは有効なwin32アプリケーションではないと私に伝えます。 私もpublicize.exeでテストをビルドしようとしましたが、それは同じです。奇妙な点は、VSがすべてのテストを実行できることですが、mstest.exeを使用すると、テストプロジェクトからコンパイルされたUnittest.dllにリンクされているxyz_accessor.dllが見つからないため、すべてのテストが失敗します。VS 2010(およびpublicize.exe)は、.dllの代わりにxxx_accessor.exeを作成します。

誰もこの動作を解決する方法を知っていますか?

よろしく、 クリスチャン

答えて

1

使用MSBuildのソリューションの代わりに、CSCにし、それが(ただし公表わからない)正しく構築する必要があります

+0

私は試しましたが、問題は残ります。 – Cylox

+0

ソリューションまたは.csファイルでMSBuildを実行しましたか? –

0

私は解決策でのMSBuildを使用していました。しかし、私はVS2010がaccessor.dllをコンパイルすると言って間違っていたようです。このプロジェクトはvs2005で作成され、ユニットテストは2008年から行われました。2010年に移行すると、.dllの代わりに.exeが生成されているようです(少なくとも私のワークステーションでは)。私は実際には、以前のバージョンのmstest(.net 3.5)を知らずに使用し、すべてのプロジェクトターゲットフレームワークを4.0に設定した後、新しいバージョンでもう一度試しました。今はそれが必要なように動作します。残っている唯一の奇妙なことは、新しいacessor exeが常に小さな文字で書かれており、それが対応しているプロジェクトと似ていないことです。

関連する問題