問題タブ [gmcs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - AssemblyVersion 属性を別のファイルに移動すると、Mono でビルド エラーが発生する
現在の SVN リビジョンを Version.cs という名前のファイルに書き込むビルド タスクを含む C# ライブラリ プロジェクトがあります。結果のファイルには、次の 1 行だけが含まれます。
AssemblyVersion
AssemblyInfo.cs ファイルから既存の属性を削除しました。
Mono を使用してコンパイルする場合、gmcs コンパイラはこれを好まず、次の解析エラーをスローします。
なぜこれが起こっているのですか?確かに、 AssemblyInfo.cs はある種の「特別な」ファイルではありません-バージョン属性をそのファイルに書き込む必要はありません...
Windows/VS.NET ではまだ試していません (両方のプラットフォームでコンパイルできる必要があります)。
.net - 同じ.exeを.NET2.0、3.5、4.0で動作させるにはどうすればよいですか?
私は.NET2.0アプリケーションを開発しており、Mono(gmcs -langversion:ISO-2
)を使用して.csソースから.exeを作成しています。.NET Framework 2.0がインストールされている場合はWindowsで正常に動作しますが、3.5または4.0のみがインストールされている場合は動作しません。同じ.exeファイルを.NETFramework2.0、3.5、4.0(および場合によっては将来のバージョン)のいずれかで機能させることは可能ですか?私の知る限り、これらのバージョン間で変更されたAPIは使用していません。
生成されたEXEをすべての.NETFrameworkバージョンで機能させる方法のコメント?そのままで動作するはずだと示唆しています(ただし、私の.exeでは動作しません)。それはまた言う:
Framework 4.0をインストールすると、2.0以降の任意のフレームワークを対象としたアプリを実行できるようになります。ただし、アプリがこれを認識していることを確認する必要がある場合があります。App.Configでは、SupportedRuntime要素を使用して、ターゲットフレームワークがインストールされていない場合にアプリが使用を試みることができるバージョンを指定できます。
App.Configを変更するにはどうすればよいですか?SupportedRuntime要素を設定するにはどうすればよいですか?ターゲットマシンにファイルを追加せずにそれを行うことは可能ですか?つまり、互換性を持たせるために.exeに何かを設定するだけですか?
c# - Mono xbuild は gmcs の代わりに dmcs を使用します
次のコードがあります。
次の MSBuild スクリプトがあります。
次のメッセージで失敗します。
Xbuild は dmcs コンパイラを呼び出しますが、Microsoft.Build.Utilites アセンブリには .net 2.0 アセンブリへの参照があります。gmcs (2.0) で手動でコンパイルすると動作します。しかし、xbuild で動作させることができません。
c# - LinuxでWindowsフォームを使用してC#コードをコンパイルする
Windowsフォームを使用するC#コードを含むいくつかのソースコードをダウンロードしました。Linux環境(Ubuntu 12.04)でコードをコンパイルして実行することは可能ですか?
私はすでにいくつかのC#ソースコードをmcsでコンパイルし、結果のexeファイルをmonoで実行しようとしました。
ソースコードはこちらからダウンロードできます。可能であれば、第2章/OpeningDocumentソリューションをどのようにコンパイルして実行するかを説明してください。
編集
mono - CentosでのMonoのコンパイルとインストール-「make」を通過できません
Monoをインストールするための基本的な手順は次のとおりです。
tar xzvf mono-X.XX.tar.gz; cd mono-X.XX ./configure --prefix = / usr / local; 作る; インストールする
そこで、最新バージョンをhttp://download.mono-project.com/sources/mono/からダウンロードして抽出しました(ただし、これはbz2であるため、tarにjオプションを使用しました)。
構成は正常に機能しているようです。makeを実行すると、この前に40分ほどプラグインします。
数行後に終了します。
私は機知に富んでいます。エンドレスグーグルは、dllをデイリービルドで上書きするとこれが起こると言っている少数の人々を除いて、私をどこにも連れて行ってくれませんでした。
これは、PHP、Apache、Mysql、Webminを使用してMonoを試行している新しいCentOS6.2インストールです。最新のモノラルバージョン(2.11.2)をダウンロードしましたが、前回のバージョン(2.11.1)でも同じことが起こりました。
私はWebサーバーをDebianに諦めて切り替えようとしていますが、これが道のりかもしれません。
助けていただければ幸いです。乾杯
c# - Mono の mcs を使用して csproj ファイルをコンパイルおよび実行するにはどうすればよいですか?
私は仕事のためにいくつかの C# コードを試してコンパイルする必要がある Unix の男です。Mac 用の Mono と mcs コマンド ライン ツールをダウンロードしました。このライブラリには、コンパイルする必要があるすべてのファイルを含む XML を含む csproj ファイルが添付されています。
Mono/mcs はこの csproj ファイルを読み取って、そこから DLL を生成できますか?
c# - 別のフォルダにあるDLLを使用してmono.exeを実行します
Mac用の実行可能ファイルと次のコマンドラインプログラムtest.cs
を使用して、ファイル(サードパーティライブラリを参照)をコンパイルしました。dmcs
これは問題なくコンパイルされました(/ reference引数を除いて問題が発生します)。これによりprogram.exe
、現在のディレクトリに実行可能ファイルが作成されました。私がこのようにそれを実行しようとしたとき:
次のエラーが発生しました:
これを解決するために私が理解できる唯一の方法は、project.dll
ファイルを含むディレクトリにファイルをコピーすることでしたprogram.exe
。project.dll
同じディレクトリにコピーすると、プログラムは正しく実行されました。
mono
別のプログラムディレクトリにあるDLLを指定するために渡すことができる追加の引数はありますか?dmcs
または、 DLLを直接バイナリにコンパイルするために渡すことができるフラグはありますか?
c# - mono および -nostdlib を使用したコンパイル
Microsoft.CSharp.CSharpCodeProvider を使用して、アセンブリをプログラムでコンパイルし、外部 .cs ファイルからいくつかの関数を実行しています。
しかし、これらの機能がファイルシステムなどに変更を加えることを禁止する方法はありますか (何らかのサンドボックスで実行する必要があります)。
CompilerParameters に「-nostdlib」オプションを追加して、結果のアセンブリが System.IO.File や他のクラスにアクセスできないようにすることを考えていました。しかし、System.Object、System.ValueType などが必要です。
現在、次のエラーが発生しています。
システムに深刻な損害を与える可能性のあるクラス (System.IO.File、System.IO.Directory、System.Net.(something)、System.Threading.(something) など) なしでこれらのクラスを追加するにはどうすればよいですか?
または、もっと簡単な方法がありますか?ありがとうございました。