モノがインストールされているLinuxにASP.NETWebアプリを展開したいと思います。
私の知る限り、Monoは.DNX4.5.1または.DNXCore5.0に似たターゲティングプラットフォームです。そのため、プロジェクトをコンパイルしてデバッグするには、プロジェクト内のターゲットプラットフォームに何らかの方法で追加する必要があります。
驚いたことに、私は何の指示も見つけることができませんでした。新しいASP.NET5/vNextプロジェクトを作成していますが、表示されるのは4.5.1とCore5.0のコンパイルターゲットだけです。そのリストにMonoを追加するにはどうすればよいですか?
MonoをVSに統合するVS用のMono製品/ Monoがいくつかありましたが、現在はありません。
この場合、.NET Core 5が究極のソリューションになるため、ターゲットにする必要があります。
Monoは引き続きASP.NET4。*プロジェクトをある程度サポートしますが、検証のためにLinux上のMonoに展開する必要があるため、互換性を主張するのは困難です。そのような場合でも、プロジェクトは、過去と同じように完全な.NETFrameworkをターゲットにする必要があります。ターゲットとするMono固有のプロファイルはありません。
Visual StudioからコンパイルしてMonoをターゲットにします
ここからの抜粋として
Visual Studioから MonoHelper アドイン(下のxbuildを使用)を使用して、Windows上のMonoに対してコンパイルできます。
VisualStudioの「Mono」.NETFrameworkプロファイルを対象とする別のソリューションもあります。次の手順は ここ からのもので、VS 2012用です(ただし、他のバージョンでも機能するはずです)。
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.5\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>
_
複数のCLRランタイムを対象とするpythonnetソリューションとプロジェクトをご覧ください。
https://github.com/pythonnet/pythonnet/blob/master/pythonnet.sln