私はこれに慣れていないので、どこから始めればいいのかわかりません。
LinuxでMonoを使用してVisual Studio C#プロジェクトをコンパイルします(コマンドラインで)。
Main.csファイルには次の参照が含まれています。
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Imaging;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Xml;
using iTextSharp.text;
using iTextSharp.text.pdf;
コンパイラーへの参照に注意する必要があるのか、それともそれ自体をプルするのか、どこで探すべきかを知っているのかどうかはわかりません。これをやったことがない。ただし、このプロジェクトをコンパイルするだけです。
ありがとうございました!
xbuild を試しましたか? Monoの世界ではMSBuildに相当します。 MSBuildがWindowsでプロジェクトをコンパイルできる場合、xbuildはLinuxでも同じことができるはずです(そうでない場合は、 Bugzilla にバグを報告してください)。
[〜#〜] update [〜#〜]:最近、Mono開発者/パッケージャーはオリジナル(そして最近オープンソース化された)をバンドルする過程にあります- MSBuild 、これは現在クロスプラットフォームです。たとえば、Mac用の最新のMonoインストーラーで既に利用可能なので、コマンドラインプログラムmsbuild
を使用してプロジェクト/ソリューションをビルドできます(注:Linuxディストリビューションにバンドルされるまでにはまだ長い道のりがありますmsbuildは、nugetパッケージ(別名バイナリblob)に依存しています。
knocteは正しい、モノコンプリートをインストールする
apt-get install mono-complete
理由はわかりませんが、mono-xbuildのみをインストールするとコンパイルエラーが発生しました。
コマンドラインから実行します:
xbuild yourvisualcsharpproject.csproj
Visual StudioでビルドしてLinuxにデプロイし、monoで実行できます。これをご覧ください article
たとえば、Monoはクロスプラットフォーム機能を提供しますが、.NET Frameworkが提供する一部のウィンドウリンク機能を実装しません。したがって、Windowsで.NETを使用してコンパイルすることはできず、Unix/Monoでスムーズに実行されることを期待できます。動作する可能性がありますが、失敗する可能性が高くなります。実際、プログラムが複雑になるほど、チャンスが高くなります(Monoにはないものを使用しました)。
コマンドラインツールでのコンパイル:Xbuild
コマンドラインからmonoに対して.sln/.csprojをコンパイルする場合は、xbuild(MSBuildのmono clone)を使用します。
_xbuild mysolution.sln
xbuild myproject.csproj
_
xbuild.exeは、モノラルインストールにあり、ほとんどの場合、次の場所にあります。
_C:\Program Files (x86)\Mono\lib\mono\4.5
_
からコンパイルIDE(VS)
Windows上のMonoに対して、MonoHelperアドインを使用してVisual Studioからコンパイルできます(下にxbuildを使用)。
別のソリューションもあります。これは、Visual Studioの "Mono" .NET Frameworkプロファイルを対象としています。次の手順は、 here からのものです。
注:プロファイルの場所を変更しようとしました4.5では(ただし機能しません。vsが見つからないか、インストールされていないことを検出します)、常にv4.0ディレクトリを使用してv4.0 VMに基づくプロファイルをインストールします。この制限と「プロファイル」が廃止されたという事実により、それはより高いバージョンのツールでは機能しないと思われます。
Unityでも同じプロファイルトリックが使用されています
2つのレジストリキーを作成します:
_HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0,Profile=Mono
_
_HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0,Profile=Mono
_
Microsoft References Assemblies Directory内のMonoディレクトリへのリンクを作成します(管理者権限で次を実行する必要がある場合があります)
cd "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile" mklink /d Mono "C:\Program Files (x86)\Mono\lib\mono\4.5" cd Mono mkdir RedistList cd RedistList notepad FrameworkList.xml
_FrameworkList.xml
_を編集
_FrameworkList.xml
_内に次を貼り付けます
_<?xml version="1.0" encoding="utf-8"?>
<FileList Redist="Mono-4.5" Name="Mono 4.5 Profile" RuntimeVersion="4.5" ToolsVersion="4.0" > </FileList>
_
MonoDevelop/Xamarin Studioでコンパイルします
MonoDevelop UnixおよびWindowsで実行され、IDE内で.Net compile/debug/runからMono compile/debug/runに簡単に切り替えることができます。ただし、MonoDevelopはC#の季節的な開発者にとって非常に効率的ですが、Visual StudioのパワーとResharperを組み合わせたものにはまだ到達していません。
LinuxでC#を実行/コンパイル/デバッグする場合は、次を使用できます。
linuxとWindowsでまったく同じAPIを使用する場合は、 。Net Core を使用できます
コマンドラインでコンパイルするには:
dotnet build <solution/project>
または、フォルダーにプロジェクトが1つしかない場合
dotnet build
その後
dotnet run