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

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

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

1回答

1038閲覧

c# ソースコードによりコンパイルする

tomoyo1010

総合スコア24

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2018/11/19 06:39

編集2018/11/19 06:54

よろしくお願いします。
現在こちらのコードでpsファイルをコンパイルしようとしていますが、
プリプロセッサ ディレクティブが必要です。

単一行コメントか行の終わりが必要ですとエラーがでてしまい、
コンパイルされません。

改善方法や、他にプログラムからコンパイルする方法があれば教えていただきたいです。
よろしくお願いします。

C#

1 FileInfo sourceFile = new FileInfo(fileName); 2 3 CodeDomProvider provider = null; 4 5 // Select the code provider based on the input file extension. 6 if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == ".PS") 7 { 8 provider = CodeDomProvider.CreateProvider("CSharp"); 9 } 10 11 12 String exeName = String.Format(@"{0}\{1}.tmp", 13 System.Environment.CurrentDirectory, 14 sourceFile.Name.Replace(".", "_")); 15 16 CompilerParameters cp = new CompilerParameters(); 17 18 // Generate an executable instead of 19 // a class library. 20 cp.GenerateExecutable = true; 21 22 // Specify the assembly file name to generate. 23 cp.OutputAssembly = exeName; 24 25 // Save the assembly as a physical file. 26 cp.GenerateInMemory = false; 27 28 // Set whether to treat all warnings as errors. 29 cp.TreatWarningsAsErrors = false; 30 31 // Invoke compilation of the source file. 32 CompilerResults cr = provider.CompileAssemblyFromFile(cp, 33 fileName); 34 35 if (cr.Errors.Count > 0) 36 { 37 //エラーがあるときは出力する 38 foreach (System.CodeDom.Compiler.CompilerError compErr in cr.Errors) 39 { 40 Console.WriteLine("FileName:{0}", compErr.FileName); 41 Console.WriteLine("Line:{0}", compErr.Line); 42 Console.WriteLine("Column:{0}", compErr.Column); 43 Console.WriteLine("ErrorNumber:{0}", compErr.ErrorNumber); 44 Console.WriteLine("ErrorText:{0}", compErr.ErrorText); 45 } 46 MessageBox.Show("Error"); 47 } 48 else 49 { 50 MessageBox.Show("Success"); 51 }

エラーコード
FileName:d:\Projects\shader_works\shader_works\shader_works\bin\Debug\map.ps
Line:1
Column:2
ErrorNumber:CS1024
ErrorText:プリプロセッサ ディレクティブが必要です。
FileName:d:\Projects\shader_works\shader_works\shader_works\bin\Debug\map.ps
Line:1
Column:9
ErrorNumber:CS1025
ErrorText:単一行コメントか行の終わりが必要です。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2018/11/19 06:47

エラーメッセージはそのままの形で提示してください。また、コードは、<code>ボタン、’’’の枠の中に貼り付けてください
tomoyo1010

2018/11/19 06:55

申し訳ございません。更新しました。
y_waiwai

2018/11/19 07:03

コードはこれが全部でしょうか。省略したりとかしてないでしょうか
YAmaGNZ

2018/11/19 07:04

map.psはどのようなファイルなのでしょうか?
tomoyo1010

2018/11/19 07:12

ファイル名の定義部分以外は省略していません。
tomoyo1010

2018/11/19 07:12

defineとincludeが書かれたファイルになります
YAmaGNZ

2018/11/19 07:14

それはC#でコンパイルできるのですか?
PineMatsu

2018/11/19 08:30

map.psファイルの中身を提示してもらわないと答えようがないと思います。
guest

回答1

0

自己解決

c#ではコンパイルできなそうだったので、psコンパイル用のbatファイルを落としてきて使用することで解決しました。ご迷惑おかけしました。
ありがとうございます。

投稿2018/11/19 08:57

tomoyo1010

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問