2009-10-19 39 views
5

VS 2010 Beta 2をダウンロードしました。クラスライブラリの1つをいくつかのリソースファイルでビルドしようとすると、エラーが表示されます。VS 2010 Beta 2: "ResGen.exe"を実行できませんでした

4434「ResGen」タスクのためのコマンドライン 警告:

は、「指定されたタスクの実行 『ResGen.exeは

が、その前に、私は警告を受ける』。実行することができませんでしたファイル名または拡張子が長すぎます」長すぎます。 32000文字を超えるコマンドラインは失敗する可能性があります。呼び出しごとに少ないパラメータで複数の呼び出しにResGenへの呼び出しを分割して、コマンドラインの長さを短縮してみてください。

どちらも、私は問題が何であるかを正確に教えてくれますが、私にはそれをクリックしていません。このアセンブリはVSTS 2008で動作するので、私は少し紛失しています。

必要に応じて、MSにバグを入力しますが、私はstackoverflowの総合的な知恵が私にとって最初にできることを知りたかったのです。

+0

2008年に成功したプロジェクトでベータ2とまったく同じことが起こっています。 –

+0

うれしい私は一人ではありません。 – Russ

+0

ベータ2が一般公開されるまで待つのが賢明かもしれません。そうしなければほとんどの開発者はそれを試すことさえできません。 – Noldorin

答えて

2

私はまったく同じ問題を抱えています。私はマイクロソフトConnectサイト上の問題を提出しました:

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=499196

+0

申し訳ありませんが、このバグをお持ちの方は、この接続バグにあなたのコメントを追加してください。私たちはMSから回答を得ることができます。回避策、またはベータ2の修正は素晴らしいでしょう。 – Russ

+1

RCにもバグが残っています。 – Marc

1

私は、.NET 4をターゲットに私のプロジェクトを変更し、この問題は去っていきました。

しかし、理想的な解決策ではありません。私たちはまだ.NET 4に構築する準備ができていませんが、少なくとも製品は使用可能です。

UPDATE:マイクロソフト接続問題への更新を掲載している:

Workarounds
1) switch to target 4.0. Obviously that isn't a workaround for a serious project, but it fixes it for experimentation.
2) I didn't try this. Go into \microsoft.common.targets and find the GenerateResource task. Make a backup of the file first. Change the Condition attribute to:
Condition="'%(EmbeddedResource.Type)' == 'Resx' and '%(EmbeddedResource.GenerateResource)' != 'false' and '%(EmbeddedResource.Identity)' != ''"

The extra clause should make resgen run separately on each input file, which will be slower, but should avoid the problem. Dan

述べたように、私は、条件を変更し、すべてのものはまだ.NET 3.5をターゲットにしながら、これまで正常に動作しています。目立って遅いです:)

+0

私はMS接続バグに言及しました。しかし、私は生産にベータ版製品を導入することができないので、私の問題は解決しません。 – Russ

+0

あなたは絶対に正しいですし、その非常に迷惑な。それは私がVS2008で今日もほとんどの時間、新しいソフトウェアを試してみる良い方法ではないことを意味しています。 –

+0

投稿された作業は本当にうまくいっています。私は2010年に永久に切り替えるかもしれないと思います。 –

関連する問題