none
LightSwitchにてSharePointリスト参照のプログラムのデバッグが開始でエラーになる(C#) RRS feed

  • 質問

  • VS2013 にて LightSwitch でSharePoint Onlineのリストを参照するように設定し、デバッグを開始しようとしたところ
    エラー一覧には 「パスに無効な文字が含まれています。」 
    出力タブには 「C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\SharePointTools\Microsoft.VisualStudio.SharePoint.targets(525,5): error : パスに無効な文字が含まれています。」

    と表示されてデバッグを続行できません。

    出力タブのメッセージを手掛かりにターゲットファイルを確認したところ、525行目は

    <PackageFiles LayoutPath="$(LayoutPath)%(EnumeratedFiles.Package)\" PackagePath="$(BasePackagePath)%(EnumeratedFiles.Package).$(PackageExtension)" IsApp="$(IsApp)" HasPackagingWarnings="$(HasPackagingWarnings)" />

    となっていました。
    どこを確認すべきでしょうか?

    ご教授願います。

    OSはWindows8.1 Pro
    VSは 2013 Professional です。
    よろしくお願いします。

    2013年11月11日 5:23

回答

  • ユーザープロファイル(C:\Users の下の自分のアカウントのフォルダー)に日本語が含まれていると発生するようです。
    マイクロソフトアカウントなどでアカウントを作ると、そうなります。
    デプロイのタイミングで環境変数 TEMP を参照するのですが、デフォルトではこの一時フォルダーはユーザープロファイル配下にあります。
    (%USERPROFILE%\AppData\Local\Temp)
    この時、日本語が含まれていると正しくパスを処理できないようです。

    この問題を解決するには C:\Temp のような日本語を含まないフォルダーを用意し、TEMP はそのフォルダーを指定するようにしてください。
    なお環境変数の一覧を見ると、TEMP と TMP があると思いますが、今回の問題解決のためには TEMP を変更するだけでいいはずです。

    お試しください。

    2013年11月11日 14:29

すべての返信

  • とりあえず同じ環境もっているので、ためしてみましたが
    Debug時にエラーでません。

    OSはWindows8.1 Pro

    VSは 2013 Professional
    +Office365

    補足

    アプリのデバックに使用するO365(SharePoint 2013 Online)サイトは
     開発者向けサイト テンプレートから作ったサイトでテストしています



    2013年11月11日 9:22
  • 試していただきありがとうございます。

    わたくしの環境で何かが間違っているのは確かなようですね。
    どこが怪しいのでしょうか。
    Microsoft.VisualStudio.SharePoint.targets の525行目のパスの値がどこの値を参照しているのか知る方法はないでしょうか?

    2013年11月11日 11:16
  • ユーザープロファイル(C:\Users の下の自分のアカウントのフォルダー)に日本語が含まれていると発生するようです。
    マイクロソフトアカウントなどでアカウントを作ると、そうなります。
    デプロイのタイミングで環境変数 TEMP を参照するのですが、デフォルトではこの一時フォルダーはユーザープロファイル配下にあります。
    (%USERPROFILE%\AppData\Local\Temp)
    この時、日本語が含まれていると正しくパスを処理できないようです。

    この問題を解決するには C:\Temp のような日本語を含まないフォルダーを用意し、TEMP はそのフォルダーを指定するようにしてください。
    なお環境変数の一覧を見ると、TEMP と TMP があると思いますが、今回の問題解決のためには TEMP を変更するだけでいいはずです。

    お試しください。

    2013年11月11日 14:29
  • ありがとうございます。
    マイクロソフトアカウントでユーザーを設定したので、ユーザー名が日本語でした。
    無事に動作するようになりました。

    ちなみに、私の環境では TMPの値だけを変更して動作しました。
    2013年11月12日 0:27