
前提・実現したいこと
VisualStudio2017でvisual C#のコンソールアプリを作りましたが、そこからwindowsフォームを表示し、連携したい。もしくはwindowsフォームからコンソールアプリのメインクラスを呼び出したい。
アセンブリに入れようと試みましたが参照先に出てきませんでした。
該当のソースコード
Program.cs(スタートアップに設定)
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6 7namespace ConsoleApp1 8{ 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 Console.WriteLine("Hello World!"); 14 15 // Keep the console window open in debug mode. 16 Console.WriteLine("Press any key to exit."); 17 Console.ReadKey(); 18 } 19 } 20}
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6 7namespace ConsoleApp1 8{ 9 class Class1 10 { 11 // メンバー変数の定義 ここから↓ 12 private int x; 13 private int y; 14 // メンバー変数の定義 ここまで↑ 15 16 // メソッドの定義 ここから↓ 17 public int GetX() 18 { 19 return x; 20 } 21 22 public int GetY() 23 { 24 return y; 25 } 26 27 public void Set(int a, int b) 28 { 29 x = a; 30 y = b; 31 } 32 // メソッドの定義 ここまで↑ 33 } 34} 35
①フォームから他VisualC#のクラスのメソッドを呼ぶ方法
②コンパイルアプリのメインクラスにフォーム呼び出しがあり表示される方法
コンソールアプリを作った後でwindowsフォームを作ってもアセンブリが探せませんでしたし、その逆のフォームアプリを作ってからコンソールにあるクラスのメソッドを呼び出そうとしてもうまくできませんでした。
ふたつの混合のためどのようにして混ざり合わせて実装させればいいか混同しております。
アドバイスよろしくお願い致します。
####アドバイス頂いてから試したこと
コンソールアプリのC#プロジェクトネーム上で右クリックから追加でWindowsフォームを選択
####アドバイス頂いてから試したこと2
(目的 追記)
目的は.NET COREコンソールアプリをどうしても使いたいという思いと、そのアプリをデスクトップにて表示というのも同時に考えております。デスクトップで入力した値をコンソールアプリ側に渡し、処理をしてからデスクトップに値を返したいです。
WPFなどでも試してみましたがうまくいきませんでした。
デスクトップにアプリとして表示できればよいので何かほかに案や打開策などあればアドバイスよろしくお願い致します。
<その1>
①コンソールアプリ(.NET CORE)プロジェクトを作成
②Windowsフォームアプリ(.NET Framework)プロジェクトを作成
③フォームアプリにコンソールアプリを参照追加
④フォームアプリのクリックイベントの中にコンソールアプリMainメソッド呼び込み実装
<その2>
①コンソールアプリ(.NET CORE)プロジェクトを作成
②WPFアプリ(.NET Framework)プロジェクトを作成
③フォームアプリにコンソールアプリを参照追加
④フォームアプリのクリックイベントの中にコンソールアプリMainメソッド呼び込み実装
<その3>
WPFコンソールアプリプロジェクト名で右クリックcsproj拡張子ファイルを開き、以下変更。
netcoreApp2.0→netstandard2.0





回答5件
あなたの回答
tips
プレビュー