<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% SolutionFramework.tex
%	Last update: 2017/02/23 F.Kanehori
\newpage
\section{ソリューション枠組みの作成}
\label{sec:SolutionFramework}

ソリューション枠組みは次の手順で作成する。&lt;ID&gt;については下記の注を参照のこと。
\vspace{.5ZH}
\begin{enumerate}
  \setlength{\itemsep}{.5ZH}
  \item	ソリューション\sname{SprCSharp&lt;ID&gt;}および
	プロジェクト\pname{SprCSharp&lt;ID&gt;}(\CS のClass Library)を新規に作成する。
  \item	プロジェクト\pname{SprImport&lt;ID&gt;}(\CS のClass Library)を新規に作成して追加する。
  \item	プロジェクト\pname{SprExport&lt;ID&gt;}(\CPP のClass Library)を新規に作成して追加する。
  \item プロジェクト\pname{NameManager}(既存のプロジェクト)を追加する。
  \item プロジェクト\pname{TargetManager&lt;ID&gt;}(既存のプロジェクト)を追加するか、
	またはプロジェクト\pname{TargetManager&lt;ID&gt;}(\CPP のMakefile Project)を
	新規に作成して追加する。
	\label{OVTargetManager}
  \item プロジェクト\pname{RunSwig_CSharp&lt;ID&gt;}(\CPP のMakefile Project)を新規に作成して
	追加する。
  \item	プロジェクト\pname{Install}(既存のプロジェクト)を追加する。
  \item Springhead Libraryのプロジェクト(既存のプロジェクト)を追加する。
  \item プロジェクト\pname{SprCsSample&lt;ID&gt;}(\CS のConsole Application)を新規に作成して
	追加する。
\end{enumerate}

{\small{\begin{flushright}
\begin{minipage}{.9\textwidth}
\hrule
\vspace{.5ZH}
新規にプロジェクトを作成する場合には、既存のディレクトリ内に新規ファイルが
作成されないように注意すること (既存のファイルが上書きされる恐れがある)。
そのためには、新規プロジェクト作成時に指定するNameが、既存のディレクトリ名と
一致しないようにすることが必要となる (そのために&lt;ID&gt;を付加している)。
\vspace{-.7ZH}
\begin{center}
\begin{tabular}{ll}
    &lt;ID&gt;$=$&lt;PH&gt; &amp; \ref{OVTargetManager}. TargetManagerのとき \\
    &lt;ID&gt;$=$&lt;14.0&gt;&lt;PH&gt; &amp; それ以外のとき
\end{tabular}
\end{center}
\vspace{-.5ZH}
これに伴い、ファイルのコピーおよびソリューションファイルの編集作業が必要となる。
作業内容については、これ以降で詳しく述べる。
\vspace{.5ZH}
\hrule
\end{minipage}
\end{flushright}}}

\medskip
\noindent
以降、ソリューションを作成するディレクトリを\DQuote{\tt{DIR}}とし、
例示するファイル操作等は、このディレクトリで行なうものとして記述する。

%-------------------------------------------------------------------------------
\subsection{ソリューション\sname{SprCSharp&lt;14.0&gt;&lt;PH&gt;}の作成}
\label{sub:SprCSharp}
ソリューション\sname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}と
プロジェクト\pname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.csproj}とを同時に作る。

\medskip
\begin{enumerate}
  \item	Visual Studioを起動
	\begin{narrow}[s][\WID]
	    [New Project]--[Visual \CS]--[Class Library]
	    \begin{narrow}[\WID]\begin{tabular}{ll}
		Name:	  &amp; \verb|SprCSharp&lt;14.0&gt;&lt;PH&gt;| \\
		Location: &amp; \verb|DIR|
	    \end{tabular}\end{narrow}
	    \medskip
	    Visual Studioを終了(変更を保存)
	\end{narrow}
	\medskip

  \item	ディレクトリ\dname{SprCSharp&lt;14.0&gt;&lt;PH&gt;}(=&lt;NEWDIR&gt;とする)が作成されるので
	ソリューションファイルおよびプロジェクトファイルをコピー
	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    \verb|DIR&gt; cp &lt;NEWDIR&gt;\SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln .| \\
	    \verb|DIR&gt; cp &lt;NEWDIR&gt;\SprCSharp&lt;14.0&gt;&lt;PH&gt;.csproj SprCSharp| \\
	    $\dagger$コピー先のディレクトリ名に注意
	\end{tabular}\end{narrow}
	\medskip

  \item	ソリューションファイル\fname{DIR\SL SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を編集
	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    \verb|Project(...) = "..." "SprCSharp&lt;14.0&gt;&lt;PH&gt;.csproj",...| \\
	    \hbox{\hspace{\WID}$\downarrow$} \\
	    \verb|Project(...) = "..." "SprCSharp\SprCSharp&lt;14.0&gt;&lt;PH&gt;.csproj",... | \\
	    $\dagger$ディレクトリ名に注意
	\end{tabular}\end{narrow}
	\medskip

  \item	ソリューション\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動

	\small{Solution Explorerでプロジェクト\pname{SprCSharp&lt;14.0&gt;&lt;PH&gt;}を展開}
	\begin{narrow}[s][\WID]
	    Class1.csを[Delete]

	    [Add]--[Existing Item...] で次のものを追加
	    \begin{narrow}[\WID]
		\fname{cs_object.cs} \\
		\fname{module.wrapper.cs} \\
		\fname{module.wrapflushrightper.cs.prologue} \\
		\fname{wrapper.cs} \\
		\fname{CSUtility.cs}
	    \end{narrow}
	    次のものは、存在すれば[Add]--[Existing Item...]で追加、
	    存在しなければ[Add]--[New Item...]--[Visual \CS\ Items]--[Class]で追加
	    (この場合ソースファイルはダミー)
	    \begin{narrow}[\WID]
		\fname{CSBase.cs} \\
		\fname{CSCollision.cs} \\
		\fname{CSFoundation.cs} \\
		\fname{CSPhysics.cs}
	    \end{narrow}
	    $\dagger$ここで追加するのは&lt;EDP&gt;に対応したもののみ
	\end{narrow}
	\medskip
	\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln} を終了(変更を保存)
	\medskip

  \item	ディレクトリ\dname{SprCSharp&lt;14.0&gt;&lt;PH&gt;}を削除
\end{enumerate}

%-------------------------------------------------------------------------------
\subsection{プロジェクト\pname{SprImport&lt;14.0&gt;&lt;PH&gt;}の追加}
\label{sub:SprImport}
新規に作成して追加する。

\medskip
\begin{enumerate}
  \item	ソリューション\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動

	Solution Explorerで
	ソリューション\sname{SprCSharp&lt;14.0&gt;&lt;PH&gt; (xx projects)}を右クリック

	\small{[Add]--[New Projcet...]--[Visual \CS]--[Class Library]}
	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    Name:     &amp; \verb|SprImport&lt;14.0&gt;&lt;PH&gt;| \\
	    Location: &amp; \verb|DIR|
	\end{tabular}\end{narrow}
	\medskip
	\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
	\medskip

  \item	ディレクトリ\dname{SprImport&lt;14.0&gt;&lt;PH&gt;}(=&lt;NEWDIR&gt;とする)が作成されるので
	プロジェクトファイルをコピー
	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    \verb|DIR&gt; cp &lt;NEWDIR&gt;\SprImport&lt;14.0&gt;&lt;PH&gt;.csproj SprImport| \\
	    $\dagger$コピー先のディレクトリ名に注意
	\end{tabular}\end{narrow}
	\medskip

  \item	ソリューションファイル\fname{DIR\SL SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を編集
	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    \verb|Project(...) = "..." "&lt;NEWDIR&gt;\SprImport&lt;14.0&gt;&lt;PH&gt;.cspproj",...| \\
	    \hbox{\hspace{\WID}$\downarrow$} \\
	    \verb|Project(...) = "..." "SprImport\SprImport&lt;14.0&gt;&lt;PH&gt;.cspproj",...| \\
	    $\dagger$ディレクトリ名に注意
	\end{tabular}\end{narrow}
	\medskip

  \item	ソリューション\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動する

	Solution Explorerでプロジェクト\pname{SprImport&lt;14.0&gt;&lt;PH&gt;}を展開
	\begin{narrow}[s][\WID]
	    Class1.csを[Delete]

	    [Add]--[Existing Item...] で次のものを追加
	    \begin{narrow}[\WID]
		\fname{module.wrapper.cs} \\
		\fname{module.wrapper.cs.prologue} \\
		\fname{wrapper.cs} \\
		\fname{CSUtility.cs}
	    \end{narrow}
	    次のものは、存在すれば[追加]--[既存の項目]で追加、
	    存在しなければ[Add]--[New Item...]--[Visual \CS\ Items]--[Class]
	    で追加(この場合ソースファイルはダミー)
	    \begin{narrow}[\WID]
		\fname{CSBase.cs} \\
		\fname{CSCollision.cs} \\
		\fname{CSFoundation.cs} \\
		\fname{CSPhysics.cs}
	    \end{narrow}
	    $\dagger$ここで追加するのは&lt;EDP&gt;に対応したもののみ
	\end{narrow}
	\medskip
	\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
	\medskip

  \item	ディレクトリ\dname{SprImport&lt;14.0&gt;&lt;PH&gt;}を削除
\end{enumerate}

%-------------------------------------------------------------------------------
\subsection{プロジェクト\pname{SprExport&lt;14.0&gt;&lt;PH&gt;}の追加}
\label{sub:SprExport}
新規に作成して追加する。

\medskip
\begin{enumerate}
  \item	ソリューション\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動

	Solution Explorerで
	ソリューション\sname{SprCSharp&lt;14.0&gt;&lt;PH&gt; (xx projects)}を右クリック

	\small{[Add]--[New Project...]--[Visual \CPP]--[CLR]--[Class Library]}
	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    Name:     &amp; \verb|SprExport&lt;14.0&gt;&lt;PH&gt;| \\
	    Location: &amp; \verb|DIR|
	\end{tabular}\end{narrow}
	\medskip
	\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
	\medskip

  \item	ディレクトリ\dname{SprExport&lt;14.0&gt;&lt;PH&gt;}(=&lt;NEWDIR&gt;とする)が作成されるので
	プロジェクトファイルをコピー

	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    \verb|DIR&gt; cp &lt;NEWDIR&gt;\SprExport&lt;14.0&gt;&lt;PH&gt;.vcxproj SprExport| \\
	    \verb|DIR&gt; cp &lt;NEWDIR&gt;\SprExport&lt;14.0&gt;&lt;PH&gt;.vcxproj.filters SprExport| \\
	    $\dagger$コピー先のディレクトリ名に注意
	\end{tabular}\end{narrow}
	\medskip

  \item	ソリューションファイル\fname{DIR\SL SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を編集
	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    \verb|Project(...) = "..." "&lt;NEWDIR&gt;\SprExport&lt;14.0&gt;&lt;PH&gt;.vcxproj",...| \\
	    \hbox{\hspace{\WID}$\downarrow$} \\
	    \verb|Project(...) = "..." "SprExport\SprExport&lt;14.0&gt;&lt;PH&gt;.vcxproj",...| \\
	    $\dagger$ディレクトリ名に注意
	\end{tabular}\end{narrow}
	\medskip

  \item	ソリューション\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動する

	Solution Explorerでプロジェクト\pname{SprExort&lt;14.0&gt;&lt;PH&gt;}を展開
	\begin{narrow}[s][\WID]
	    [Header Files]
	    \begin{narrow}[\WID]
		フォルダ内のファイルをすべて[Remove]--[Remove]

		[Add]--[Existing Item...] で次のものを追加
		\begin{narrow}[\WID]
		    \fname{CSUtility.h}
		\end{narrow}
	    \end{narrow}
	    [Rersource Files]
	    \begin{narrow}[\WID]
		フォルダ内のファイルをすべて[Remove]--[Remove] \\
		フォルダ内のファイルをすべて[Delete]
	    \end{narrow}
	    [Source Files]
	    \begin{narrow}[\WID]
		フォルダ内のファイルをすべて[Remove]--[Remove]

		[Add]--[Existing Item...] で次のものを追加
		\begin{narrow}[\WID]
		    \fname{module.wrapper.cpp} \\
		    \fname{module.wrapper.cpp.prologue} \\
		    \fname{wrapper.cpp} \\
		    \fname{CSUtility.cpp}
		\end{narrow}
		次のものは、存在すれば[Add]--[Existing Item...]で追加、
		存在しなければ[Add]--[New Item...]--[Visual \CPP]--[\CPP\ File(.cpp)]
		で追加(この場合ソースファイルはダミー)
		\begin{narrow}[\WID]
		    \fname{CSBase.cpp} \\
		    \fname{CSCollision.cpp} \\
		    \fname{CSFoundation.cpp} \\
		    \fname{CSPhysics.cpp}
		\end{narrow}
		$\dagger$ここで追加するのは&lt;EDP&gt;に対応したもののみ
	    \end{narrow}
	    ReadMe.txtを[Remove]--[Remove]
	\end{narrow}
	\medskip
	\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
	\medskip

  \item ディレクトリ\dname{SprExport&lt;14.0&gt;&lt;PH&gt;}を削除
\end{enumerate}

%-------------------------------------------------------------------------------
\subsection{プロジェクト\pname{NameManager}の追加}
\label{sub:NameManager}
既存のプロジェクトを追加する。

\medskip
\begin{enumerate}
  \item	ソリューション\sname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動
	\begin{narrow}
	Solution Explorerで
	ソリューション\sname{SprCSharp&lt;14.0&gt;&lt;PH&gt; (xx projects)}を右クリック

	\small{[Add]--[Existing Project...]}
	\begin{narrow}[s]
	    \verb|DIR\NameManager\NameManager.vcxproj|
	\end{narrow}
	\medskip
	\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
	\end{narrow}
	\medskip
\end{enumerate}

%-------------------------------------------------------------------------------
\subsection{プロジェクト\pname{TargetManager&lt;PH&gt;}の追加}
\label{sub:TargetManager}
プロジェクトファイル\fname{DIR\SL TargetManager\SL TargetManager&lt;PH&gt;.vcxproj}が
存在するか否かで処理が異なる。

\medskip
\begin{itemize}
  \item 存在する場合 --- 既存のプロジェクトを追加する。
	\begin{enumerate}
	  \item	ソリューション\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動

	    Solution Explorerで
	    ソリューション\sname{SprCSharp&lt;14.0&gt;&lt;PH&gt; (xx projects)}を右クリック

	    \begin{narrow}[s][\WID]
		[Add]--[Existing Project...]
		\begin{narrow}[\WID]
		    \verb|DIR\TargetManager\TargetManager&lt;PH&gt;.vcxproj|
		\end{narrow}
	    \end{narrow}
	    \medskip
	    \fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
	    \medskip
	\end{enumerate}

  \item	存在しない場合 --- 新規に作成して追加する。
	\begin{enumerate}
	  \item ソリューション\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動

		Solution Explorerで
		ソリューション\sname{SprCSharp&lt;14.0&gt;&lt;PH&gt; (xx projects)}を右クリック

		\small{%
		[Add]--[New Project...]--[Visual \CPP]--[General]--[Makefile Project]
		\begin{narrow}[\WID]\begin{tabular}{ll}
		    Name:     &amp; \verb|TargetManager&lt;PH&gt;| \\
		    Location: &amp; \verb|DIR|
	    	\end{tabular}\end{narrow}
		[Finish]

		[TaregetManager&lt;PH&gt;]--[Properties]
		\begin{narrow}[\WID]
		    [General]--[Project Defaults]--[Configuration Type]を Makefile
		    にする

		    [Apply]--[OK]
		\end{narrow}
		}
		\medskip
		\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
		\medskip

	  \item	ディレクトリ\dname{TargetManager&lt;PH&gt;}=(&lt;NEWDIR&gt;とする)が作成されるので
		プロジェクトファイルをコピー
		\begin{narrow}[s][\WID]\begin{tabular}{ll}
		    \verb|DIR&gt; cp &lt;NEWDIR&gt;\TargetManager&lt;PH&gt;.vcxproj TargetManager| \\
		    \verb|DIR&gt; cp &lt;NEWDIR&gt;\TargetManager&lt;PH&gt;.vcxproj.filters TargetManager| \\
		    $\dagger$コピー先のディレクトリ名に注意
		\end{tabular}\end{narrow}
		\medskip

	  \item ソリューションファイル\fname{DIR\SL SprCSharp14.0.sln}を編集
		\begin{narrow}[s][\WID]\begin{tabular}{ll}
		    \verb|Project(...) = "..." "&lt;NEWDIR&gt;\TargetManager&lt;PH&gt;.vcxproj",...| \\
		    \hbox{\hspace{10mm}$\downarrow$} \\
		    \verb|Project(...) = "..." "TargetManager\TargetManager&lt;PH&gt;.vcxproj",...| \\
		    $\dagger$ディレクトリ名に注意
		\end{tabular}\end{narrow}
		\medskip

	  \item ソリューション\DQuote{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動する

		Solution Explorerで、Project TargetManager&lt;PH&gt;を展開
		\begin{narrow}[s][\WID]
		    [Header Files]を[Delete]

		    [Resource Files]を[Delete]

		    [Source Files]を[Delete]

		    Readme.txtを[Remove]--[Remove]
		\end{narrow}
		\medskip
		\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
		\medskip
	\end{enumerate}
\end{itemize}

%-------------------------------------------------------------------------------
\subsection{\pname{RunSwig_CSharp&lt;14.0&gt;&lt;PH&gt;}の追加}
\label{sub:RunSwigCSharp}
新規に作成して追加する。

\medskip
\begin{enumerate}
  \item	ソリューション\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動

	Solution Explorerで、
	ソリューション\sname{SprCSharp&lt;14.0&gt;&lt;PH&gt; (xx projects)}を右クリック

	\small{%
	[Add]--[New Project...]--[Visual \CPP]--[General]--[Makefile Project]
	\begin{narrow}[\WID]\begin{tabular}{ll}
	    Name:     &amp; \verb|RunSwig_CSharp&lt;14.0&gt;&lt;PH&gt;| \\
	    Location: &amp; \verb|DIR|
	\end{tabular}\end{narrow}
	\medskip
	[Finish]

	[RunSwig_CSharp14.0]--[Properties]
	\begin{narrow}[\WID]
	    [General]--[Project Defaults]--[Configuration Type]を Makefile にする

	    [Apply]--[OK]
	\end{narrow}
	}
	\medskip
	\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
	\medskip

  \item	ディレクトリ\dname{RunSwig_CSharp&lt;14.0&gt;&lt;PH&gt;}(=NEWDIRとする)が作成されるので
	プロジェクトファイルをコピー
	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    \verb|DIR&gt; cp &lt;NEWDIR&gt;\RunSwig_CSharp&lt;14.0&gt;&lt;PH&gt;.vcxproj RunSwig_CSharp| \\
	    \verb|DIR&gt; cp &lt;NEWDIR&gt;\RunSwig_CSharp&lt;14.0&gt;&lt;PH&gt;.vcxproj.filters RunSwig_CSharp| \\
	    $\dagger$コピー先のディレクトリ名に注意
	\end{tabular}\end{narrow}
	\medskip

  \item	ソリューションファイル\fname{DIR\SL SprCSharp14.0.sln}を編集
	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    \verb|Project(...) = "..." "&lt;NEWDIR&gt;\RunSwig_CSharp&lt;14.0&gt;&lt;PH&gt;.vcxproj",...| \\
	    \hbox{\hspace{\WID}$\downarrow$} \\
	    \verb|Project(...) = "..." "RunSwig_CSharp\RunSwig_CSharp&lt;14.0&gt;&lt;PH&gt;.vcxproj",...| \\
	    $\dagger$ディレクトリ名に注意
	\end{tabular}\end{narrow}
	\medskip

  \item	ソリューション\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動する

	Solution Explorerでプロジェクト\pname{RunSwig_CSharp&lt;14.0&gt;&lt;PH&gt;}を展開
	\begin{narrow}[s][\WID]
	    [Header Files]を[Delete]

	    [Resource Files]を[Delete]

	    [Source Files]を[Delete]

	    Readme.txtを[Remove]--[Remove]

	    [Add]--[Existing Item...] で次のものを追加
	    \begin{narrow}[\WID]
		\fname{CSharpSwig.bat} \\
		\fname{Makefile.RunSwig_CSharp} \\
		\fname{ReplaceInclude.py} \\
		\fname{RunSwig_Clean.bat} \\
		\fname{RunSWig_CSharp.bat}
	    \end{narrow}
	\end{narrow}
	\medskip
	\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
	\medskip

  \item ディレクトリ\dname{RunSwig_CSharp&lt;14.0&gt;&lt;PH&gt;}を削除
\end{enumerate}

%-------------------------------------------------------------------------------
\subsection{プロジェクト\pname{Install}の追加}
\label{sub:Install}
既存のプロジェクトを追加する。

\medskip
\begin{enumerate}
  \item	ソリューション\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動

	Solution Explorerで
	ソリューション\pname{SprCSharp14.0 (xx projects)}を右クリック

	\small{[Add]--[Existing Project...]}
	\begin{narrow}
	    \verb|DIR\Install\Install.vcxproj|
	\end{narrow}
	\medskip
	\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
	\medskip
\end{enumerate}

%-------------------------------------------------------------------------------
\subsection{Springhead Libraryプロジェクトの追加}
\label{sub:SpringheadLibrary}
既存のプロジェクトを追加する。

\medskip
\begin{enumerate}
  \item	ソリューション\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動

	&lt;EDP&gt;および&lt;IDP&gt;に含まれるすべてのプロジェクトについて
	\begin{narrow}[s][\WID]
	    Solution Explorerで
	    ソリューション\sname{SprCSharp&lt;14.0&gt;&lt;PH&gt; (xx projects)}を右クリック

	    [Add]--[Existing Project...]
	    \begin{narrow}[\WID]
		\verb|&lt;...&gt;\Springhead2\src\&lt;|\Project\verb|&gt;\&lt;|%
		\Project\verb|&gt;&lt;14.0&gt;.vcxproj|
	    \end{narrow}
	\end{narrow}
	\medskip

  \item	\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
\end{enumerate}

%-------------------------------------------------------------------------------
\subsection{プロジェクト\pname{SprCsSample&lt;14.0&gt;&lt;PH&gt;}の追加}
\label{sub:SprCsSample}
新規に作成して追加する。

\medskip
\begin{enumerate}
  \item	ソリューション\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を起動

	Solution Explorerで
	ソリューション\sname{SprCSharp14.0 (xx projects)}を右クリック

	\small{[Add]--[New Project...]--[Visual \CS]--[Console Application]}
	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    Name:     &amp; \verb|SprCsSample&lt;14.0&gt;&lt;PH&gt;| \\
	    Location: &amp; \verb|DIR|
	\end{tabular}\end{narrow}
	\medskip
	\fname{SprCSharp&lt;14.0&gt;&lt;PH&gt;.sln}を終了(変更を保存)
	\medskip

  \item	ディレクトリ\dname{SprCsSample&lt;14.0&gt;&lt;PH&gt;}(=&lt;NEWDIR&gt;とする)が作成されるので
	プロジェクトファイルをコピー
	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    \verb|DIR&gt; cp &lt;NEWDIR&gt;\SprCsSample&lt;14.0&gt;&lt;PH&gt;.csproj SprCsSample| \\
	    $\dagger$コピー先のディレクトリ名に注意
	\end{tabular}\end{narrow}
	\medskip

  \item	ソリューションファイル\fname{DIR\SL SprCSharp14.0.sln}を編集
	\begin{narrow}[s][\WID]\begin{tabular}{ll}
	    \verb|Project(...) = "..." "&lt;NEWDIR&gt;\SprCsSample&lt;14.0&gt;&lt;PH&gt;.csproj",...| \\
	    \hbox{\hspace{\WID}$\downarrow$} \\
	    \verb|Project(...) = "..." "SprCsSample\SprCsSample&lt;14.0&gt;&lt;PH&gt;.csproj",...| \\
	    $\dagger$ディレクトリ名に注意
	\end{tabular}\end{narrow}
	\medskip

  \item	ディレクトリ\dname{SprCsSample&lt;14.0&gt;&lt;PH&gt;}を削除
\end{enumerate}

% end: SolutionFramework.tex
</pre></body></html>