トップ回答者
VS2010でAzure Tools 1.3インストール後、ソリューションのビルドが失敗するようになった。

質問
-
以下のエラーが出るようになりビルドできなくなりました。
指定されたパス、ファイル名、またはその両方が長すぎます。完全限定型名は 260 文字未満で指定し、ディレクトリ名は 248 未満で指定してください。 C:\Program Files (x86)\MSBuild\Microsoft\Cloud Service\1.0\Visual Studio 10.0\Microsoft.CloudService.targets
Azure Tools 1.2では問題なくビルドできていました。1.3をインストールした当初はビルドできていたのですが、何かのきっかけで上記のエラーが出るようになりました。そのきっかけに関しては、まったく心当たりがありません。パス、ファイル名に関してはユーザとしては全く変更していません。
これはどのように対処すればよいのでしょうか?
回答
-
こんにちは。
当該エラーは一応 Windows Azure Tools for Visual Studio のトラブルシューティングガイドにも記載があります。
http://msdn.microsoft.com/ja-jp/library/ee460770.aspx
== 以下引用 ==パスが長すぎる
ソリューション名とプロジェクト名が長すぎる場合、"指定されたパス、ファイル名、またはその両方が長すぎます。完全限定型名は 260 文字未満で指定し、ディレクトリ名は 248 未満で指定してください。" というエラーが発生することがあります。これを回避するには、短いソリューション名およびプロジェクト名でクラウド サービスを作成します。
== 引用ここまで ==
ソリューション等が保存されているディレクトリの階層が深い場合にもなるかもしれません。
Visual Studio既定ですと、C:\users\~\Documents\Visual Studio 2010\Projects\WindowsAzureProject1 とだいぶ長い場合もありますので、一度保存場所を変える・ソリューション名を短くするなどして、パスが短くなるようにしては如何でしょうか。私も一度同じエラーが出たことがあり移動させたか、保存場所を変えた記憶があります。
当初は問題なかったということですので、もしかしたらプロジェクトに追加したファイルが制限を超える長さに達したのかも知れません。
- 回答としてマーク etyk 2010年12月11日 12:10
すべての返信
-
こんにちは。
当該エラーは一応 Windows Azure Tools for Visual Studio のトラブルシューティングガイドにも記載があります。
http://msdn.microsoft.com/ja-jp/library/ee460770.aspx
== 以下引用 ==パスが長すぎる
ソリューション名とプロジェクト名が長すぎる場合、"指定されたパス、ファイル名、またはその両方が長すぎます。完全限定型名は 260 文字未満で指定し、ディレクトリ名は 248 未満で指定してください。" というエラーが発生することがあります。これを回避するには、短いソリューション名およびプロジェクト名でクラウド サービスを作成します。
== 引用ここまで ==
ソリューション等が保存されているディレクトリの階層が深い場合にもなるかもしれません。
Visual Studio既定ですと、C:\users\~\Documents\Visual Studio 2010\Projects\WindowsAzureProject1 とだいぶ長い場合もありますので、一度保存場所を変える・ソリューション名を短くするなどして、パスが短くなるようにしては如何でしょうか。私も一度同じエラーが出たことがあり移動させたか、保存場所を変えた記憶があります。
当初は問題なかったということですので、もしかしたらプロジェクトに追加したファイルが制限を超える長さに達したのかも知れません。
- 回答としてマーク etyk 2010年12月11日 12:10
-
エラーになる直接の原因が何となく分かってきました。
AzureTools1.3ではdiagnostic monitorに関するConfigurationSettingsのSetting nameがデフォルトでMicrosoft.WindowsAzure.Plugins.Diagnostics.ConnectionStringと設定されるようになっていますが、今までは、DiagnosticsConnectionStringという名前で設定していました。これを今まで通りにすると、エラーは出なくなります。
これで、1.3をインストールした当初の状態に戻りましたが、実は、この先、本番環境でデプロイしたあとの動作におかしいところがあるため、それを調べていたところでした。
1.2から1.3に変更した後に何か気を付けるべき点があれば教えて頂けると助かります。
-
まだまだ日本語でまとまった情報ってなさそうですね。。
英語のMSDNには以下のような情報がありました。
Troubleshooting Hosted Service Deployment States
http://msdn.microsoft.com/en-us/library/gg465402.aspx他にはざっと見る限り以下のようなところでしょうか。
http://blogs.msdn.com/b/avkashchauhan/archive/2010/12/07/upgrading-asp-net-web-role-to-cloud-sdk-1-3-from-sdk-1-2-may-cause-form-authentication-broken-or-log-in-issues.aspxhttp://abdullin.com/journal/2010/12/4/troubleshooting-azure-deployments.html
Windows Azure Tools for Microsoft Visual Studio のヘルプファイルにある Troubleshooting Guide も参照頂ければ…
-
参照情報頂きありがとうございました。いろいろ調べるのに役に立ちました。
結局、Windows Azure Diagnostics の1.3での変更に対応するためには、ConfigurationSettingsのSetting nameをMicrosoft.WindowsAzure.Plugins.Diagnostics.ConnectionStringと設定する必要がありそうなので、ソリューション名とAzureプロジェクト名を短くして、ビルド時のエラーを回避しました。
また、Remote Desktopの設定をすると同様のビルド時のエラーが起こるので、今度は、各ロールのプロジェクト名を短くしてエラーを回避しました。
この1.3への変更に関連してwebRoleの動作が少しおかしいため、また別スレッドでご質問したいと思います。