トップ回答者
PrintDocument.Printメソッドについて(MSDNの例題がビルドできない)

質問
-
Windows10で、Visual Studio Community 2017からC#を使っています。
いろいろ例題をやろうとしているのですが、MSDNの以下の例題が、正常にビルドできません。
https://msdn.microsoft.com/ja-jp/library/system.drawing.printing.printdocument.print%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396エラーの大半が「名前空間が見つからない」というものなのですが、名前が変わった(どこかの名前空間に移動した)のでしょうか?
また、解決方法はあるのでしょうか?
名前空間が変わったなら変わったでどう探すべきかも含めてわからず困っています。
よろしくお願いいたします。
回答
-
どのような手順を実施されたのでしょうか。
サンプルコード自体には問題ないので、手順、あるいは手法の問題だと考えられます。手元で成功した手順
- C# の Windows フォーム アプリケーションで新規のプロジェクトを作成する。
- Form1.cs を削除する。
- Program.cs を開き、中身をすべて消してから、MSDN のサンプルコードを貼り付ける。
- プロジェクトのプロパティを開き、スタートアップオブジェクトに PrintingExample を設定する。
-
アセンブリ参照が足りていないのかもしれません。
PrintDocument.Printメソッドが含まれているPrintDocumentクラスには
名前空間: System.Drawing.Printing
アセンブリ: System.Drawing (System.Drawing.dll 内)と記されています。新規プロジェクトとしてコンソールアプリケーションを選択した場合、このSystem.Drawingが参照されていません。
# Azuleanさんの提示されたWindowsフォームアプリケーションの場合はSystem.Drawingが参照されています。コンソールアプリケーションであっても参照の追加から指定することで同様にコンパイルすることができます。
-
Azuleanさんの手順で問題無く、動きますね。
ただ、コンソールアプリなので、引数の指定が必要とか、知らないと苦しい個所が若干。
また、using の箇所までコピーしないと、自動生成コードでは、usingが不足してます。
→ これは、 Visual Studioの編集画面に 赤波線で警告されるので分かると思うのですが、、、。> 4. プロジェクトのプロパティを開き、スタートアップオブジェクトに PrintingExample を設定する。
こちらは、 "3. Program.cs を開き..."ならば、必要無かったです。 そのまま、デバッグ実行。ただし、VS上でデバッグ実行の場合、別途、引数の指定が必要。 久々なので、方法を忘れてました。 (プロパティで指定)
以上、参考までに。
- 回答としてマーク まるこめ 2018年1月27日 18:16
すべての返信
-
どのような手順を実施されたのでしょうか。
サンプルコード自体には問題ないので、手順、あるいは手法の問題だと考えられます。手元で成功した手順
- C# の Windows フォーム アプリケーションで新規のプロジェクトを作成する。
- Form1.cs を削除する。
- Program.cs を開き、中身をすべて消してから、MSDN のサンプルコードを貼り付ける。
- プロジェクトのプロパティを開き、スタートアップオブジェクトに PrintingExample を設定する。
-
アセンブリ参照が足りていないのかもしれません。
PrintDocument.Printメソッドが含まれているPrintDocumentクラスには
名前空間: System.Drawing.Printing
アセンブリ: System.Drawing (System.Drawing.dll 内)と記されています。新規プロジェクトとしてコンソールアプリケーションを選択した場合、このSystem.Drawingが参照されていません。
# Azuleanさんの提示されたWindowsフォームアプリケーションの場合はSystem.Drawingが参照されています。コンソールアプリケーションであっても参照の追加から指定することで同様にコンパイルすることができます。
-
Azuleanさんの手順で問題無く、動きますね。
ただ、コンソールアプリなので、引数の指定が必要とか、知らないと苦しい個所が若干。
また、using の箇所までコピーしないと、自動生成コードでは、usingが不足してます。
→ これは、 Visual Studioの編集画面に 赤波線で警告されるので分かると思うのですが、、、。> 4. プロジェクトのプロパティを開き、スタートアップオブジェクトに PrintingExample を設定する。
こちらは、 "3. Program.cs を開き..."ならば、必要無かったです。 そのまま、デバッグ実行。ただし、VS上でデバッグ実行の場合、別途、引数の指定が必要。 久々なので、方法を忘れてました。 (プロパティで指定)
以上、参考までに。
- 回答としてマーク まるこめ 2018年1月27日 18:16