質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

Q&A

解決済

Windows Store向けのビルドに関するエラー

shimazu
shimazu

総合スコア38

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

1回答

0グッド

0クリップ

2196閲覧

投稿2017/05/29 19:52

Unityを使ってゲームを開発してます。
このたびWindows Store向けにビルドしたところ
The name 'ServicePointManager' does not exist in the current context
というエラーがでました。
ほかのプラットフォームではでなかったです。

調べたところコンパイラーが違うなどの情報がありますが、具体的になにをすればいいのかわかりません。解決方法をおしえてください。

https://docs.unity3d.com/jp/540/Manual/windowsstore-missingtypes.html
https://msdn.microsoft.com/ja-jp/library/system.net.servicepointmanager(v=vs.110).aspx

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

2

ベストアンサー

Windows Store では ServicePointManager クラスは使えない、という意味です。

なぜ使えないかというと、Windows Store でビルドする場合だけフレームワークが異なるからです。
Windows/Mac/iOS/Android などのプラットフォームでは Unity は mono という .NET Framework 互換のフレームワーク上で動きますが、Windows Store でビルドした時は Universal Windows Platform (UWP) というフレームワーク上でビルドされます。
Universal Windows Platform は .NET Core という .NET Framework のサブセットと、ストアやデバイスなどを操作する API とで構成されますが、この .NET Core に含まれない .NET Framework のクラスがいくつかあります。ServicePointManager クラスはそれの一つです。

このあたりのことは、このスライドの p.27 以降に書かれています。

問題の解決方法としては、UWP から使える API を使って該当の処理を作りなおすか、該当の処理をしないかのどちらかになります。

Windows Store 向けの開発ではビルドするまでこのあたりのコンパイルエラーもわからないのでかなり面倒ですね。

なお、ServicePointManager クラスは .NET Core 2.x では使えるようです。Unity が使っている .NET Core は 1.x なので、Unity が対応すれば今後 ServicePointManager クラスも使えるようになるのではないかと思います。

投稿2017/06/01 06:30

bboydaisuke

総合スコア4991

hidori, shimazu👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

shimazu

2017/06/01 06:39

初めてのwindows store向けだったので,不安要素が多かったのですが,そういってもらえて焦点を絞ることができそうです。 ありがとうございます。 該当コードはniftyのmBaaSなので,作りなおすのは厄介ですがやってみます。
bboydaisuke

2017/06/02 06:40

nifty cloud mobile backend の Unity SDK を使っているのだと思いますが、それは Windows Store には対応していないですね。 https://github.com/NIFTYCloud-mbaas/ncmb_unity の動作環境のセクションを参照してください。
shimazu

2017/06/02 21:35

ありがとうございます。ちゃんと明記してありますね。諦めて別のmBaasを使うことにします。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。