web-dev-qa-db-ja.com

VS2015からMonoフレームワークをターゲットにする方法は?

モノがインストールされているLinuxにASP.NETWebアプリを展開したいと思います。

私の知る限り、Monoは.DNX4.5.1または.DNXCore5.0に似たターゲティングプラットフォームです。そのため、プロジェクトをコンパイルしてデバッグするには、プロジェクト内のターゲットプラットフォームに何らかの方法で追加する必要があります。

驚いたことに、私は何の指示も見つけることができませんでした。新しいASP.NET5/vNextプロジェクトを作成していますが、表示されるのは4.5.1とCore5.0のコンパイルターゲットだけです。そのリストにMonoを追加するにはどうすればよいですか?

11
yaapelsinko

MonoをVSに統合するVS用のMono製品/ Monoがいくつかありましたが、現在はありません。

この場合、.NET Core 5が究極のソリューションになるため、ターゲットにする必要があります。

Monoは引き続きASP.NET4。*プロジェクトをある程度サポートしますが、検証のためにLinux上のMonoに展開する必要があるため、互換性を主張するのは困難です。そのような場合でも、プロジェクトは、過去と同じように完全な.NETFrameworkをターゲットにする必要があります。ターゲットとするMono固有のプロファイルはありません。

2
Lex Li

Visual StudioからコンパイルしてMonoをターゲットにします

ここからの抜粋として

Visual Studioから MonoHelper アドイン(下のxbuildを使用)を使用して、Windows上のMonoに対してコンパイルできます。

VisualStudioの「Mono」.NETFrameworkプロファイルを対象とする別のソリューションもあります。次の手順は ここ からのもので、VS 2012用です(ただし、他のバージョンでも機能するはずです)。

  1. 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_

  2. 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

  3. 編集_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>
_
5
Fab

複数のCLRランタイムを対象とするpythonnetソリューションとプロジェクトをご覧ください。

https://github.com/pythonnet/pythonnet/blob/master/pythonnet.sln

0
denfromufa