2011-09-27 9 views
6

私は同じ解決策でC#プロジェクトによって参照される/clrに設定されたC++プロジェクトを持っています。残念ながら、C++が正しく署名されていないようで、「アセンブリには厳密な名前がありません」というエラーメッセージが表示されるようです。 (sn.exeはそのエラーに同意します)
ただし、です。プロジェクト設定(Linker/Advanced)のsnkファイルですので、に署名してください。さらに、すべてのプロジェクト設定は、同じソリューション内の別のC++プロジェクトと同じように見えます。私のC++アセンブリに署名がないのはなぜですか?

私は時間のために、この上で、私の髪を断裂した後に発見した一つのこと:
リンカーの/NOLOGOスイッチを排除し、それは、リンカーは二回と呼ばれていることが明らかになりました。私はそれがなぜ起こっているのかもしれないというわずかな考えを持っていません。今
ない作業を行う一つに、両方呼び出しのためのコマンドライン(/KEYFILE:)でSNKファイルを渡されるリンカを作品のプロジェクトで、2番目の呼び出しは、SNKファイルを取得ないを行います合格。

なぜリンカーを2回呼び出すのですか? 2番目の呼び出しで渡されたsnkファイルが取得されないと判断するものは何ですか?

答えて

9

私は解決策を見つけました:明らかに、MSはVS2010のSP1リリースを爆破し、MSBUildインストールフォルダに移動しなければなりません。 Hereは、汚れた詳細を示す記事です。

(そして、なぜこれがのプロジェクトで動作しますが、他では私はわかりません。そして、率直に言って、私はすでにこの壁に頭を叩いて十分な時間を失ってしまった、とそれ以上の調査はありませんではありません。)

+2

ありがとうございます。あなたは数時間の髪を引っ張って私を救った。 – dss539

+0

@ dss539:ありがとうございます! – sbi

関連する問題