Visual Studio 2010の公式言語拡張サンプルは、 Iron Python Integration サンプルでした。
ここからダウンロードできます: IronPython Integration。ここに関連ドキュメントがあります: Visual Studio IronPython Integration Deep Dive
残念ながら、私の知る限り、このサンプルは Visual Studio 2012 用に更新されていません。ただし、Visual Studio 2012 に変換する手順は次のとおりです。
- ここから Visual Studio 2012 SDK をインストールします: Microsoft Visual Studio 2012 SDK
- Iron Python 統合サンプルをダウンロードし、ディスクのどこかに解凍します
- open
IronPython.sln
、およびすべてのアップグレード変換を受け入れます
- プロジェクトのプラットフォーム ターゲットを から
AnyCpu
に変更しますx86
- 一部のプロジェクトでは、Visual Studio 11 アセンブリ (.NET 4.5 に対してビルド) への参照が正しくない (自動ヒント付き) ため、そのままではコンパイルされません。それらを Visual Studio 10 アセンブリに戻します。たとえば、IronPython.Console プロジェクトの Microsoft.VisualStudio.ExtensibilityHosting.dll は、
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies
.
IronPython.Project
プロジェクトをスタートアップ プロジェクトとして定義し、そのデバッグ パラメータを更新します。開始アクションは、デフォルトで設定された (VS 2010 シェルC:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe
) 外部プログラムではなく、(VS 2012 シェル) 外部プログラムを開始する必要があります。C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
コマンドライン引数はに設定する必要があります/RootSuffix Exp
- すべてのベース テンプレートを更新して、VS 2010 ディレクトリだけでなく、VS 2012 ディレクトリを使用するようにし
IronPython.targets
ます。すべての .pyproj ファイルで文字列を検索し、次のように VS 2012 ケースを追加します。
前:
<PropertyGroup>
<!-- Set the IronPythonPath property by proving in different locations where Iron Python could be installed -->
<!-- Regular LocalAppData -->
<IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(LocalAppData)\Microsoft\VisualStudio\10.0\Extensions\Microsoft\IronPython\1.0\IronPython.targets')">$(LocalAppData)\Microsoft\VisualStudio\10.0\Extensions\Microsoft\IronPython\1.0</IronPythonPath>
<!-- Experimental LocalAppData -->
<IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(LocalAppData)\Microsoft\VisualStudio\10.0Exp\Extensions\Microsoft\IronPython\1.0\IronPython.targets')">$(LocalAppData)\Microsoft\VisualStudio\10.0Exp\Extensions\Microsoft\IronPython\1.0</IronPythonPath>
<!-- Integrated Shell -->
<IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(MSBuildExtensionsPath)\Microsoft\IronPython Studio 2010\1.0\IronPython.targets')">$(MSBuildExtensionsPath)\Microsoft\IronPython Studio 2010\1.0</IronPythonPath>
</PropertyGroup>
後:
<PropertyGroup>
<!-- Set the IronPythonPath property by proving in different locations where Iron Python could be installed -->
<!-- Regular LocalAppData -->
<IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(LocalAppData)\Microsoft\VisualStudio\10.0\Extensions\Microsoft\IronPython\1.0\IronPython.targets')">$(LocalAppData)\Microsoft\VisualStudio\10.0\Extensions\Microsoft\IronPython\1.0</IronPythonPath>
<!-- Experimental LocalAppData -->
<IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(LocalAppData)\Microsoft\VisualStudio\10.0Exp\Extensions\Microsoft\IronPython\1.0\IronPython.targets')">$(LocalAppData)\Microsoft\VisualStudio\10.0Exp\Extensions\Microsoft\IronPython\1.0</IronPythonPath>
<!-- Regular LocalAppData VS10212 -->
<IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(LocalAppData)\Microsoft\VisualStudio\11.0\Extensions\Microsoft\IronPython\1.0\IronPython.targets')">$(LocalAppData)\Microsoft\VisualStudio\11.0\Extensions\Microsoft\IronPython\1.0</IronPythonPath>
<!-- Experimental LocalAppData VS2012-->
<IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(LocalAppData)\Microsoft\VisualStudio\11.0Exp\Extensions\Microsoft\IronPython\1.0\IronPython.targets')">$(LocalAppData)\Microsoft\VisualStudio\11.0Exp\Extensions\Microsoft\IronPython\1.0</IronPythonPath>
<!-- Integrated Shell -->
<IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(MSBuildExtensionsPath)\Microsoft\IronPython Studio 2010\1.0\IronPython.targets')">$(MSBuildExtensionsPath)\Microsoft\IronPython Studio 2010\1.0</IronPythonPath>
</PropertyGroup>
それでおしまい。コンパイルして実行します (登録の謎のため、どちらも最初は時間がかかる場合があります)。
Visual Studio 2012 から新しい Iron Python プロジェクトを開始したときの結果を次に示します。
そして構築するとき: