私はVBクラスを持っていて、実行すると:
msbuild /t:Compile
クラスのコンパイル済みコードを含むアプリケーション用の Exe も生成します。
myfolder フォルダーに VB クラス用の個別の dll を用意したいと考えています。
What extra arguments do I have to pass, in order to get my dll in myfolder ?
どんな助けでも大歓迎です!!
私はVBクラスを持っていて、実行すると:
msbuild /t:Compile
クラスのコンパイル済みコードを含むアプリケーション用の Exe も生成します。
myfolder フォルダーに VB クラス用の個別の dll を用意したいと考えています。
What extra arguments do I have to pass, in order to get my dll in myfolder ?
どんな助けでも大歓迎です!!
MSBuild スクリプトの標準的な Visual Studio 規則に従う場合 (そしておそらくそうしている場合)、.vbproj
1 つの出力アセンブリ (.exe
または.dll
) に 1 つのマップがマップされます。出力形式はOutputType
プロパティによって設定されます。2 つの出力アセンブリを生成するには、2 つのプロジェクト ファイルを作成し、ソリューション ファイル (Visual Studio を使用して生成し、MSBuild を使用してコマンド ラインからコンパイルすることができます) を使用するか、.proj
ファイルを作成することができます。それらをバンドルします。このようなバンドル プロジェクトは次のようになります。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ProjectsToBuild Include="**\*proj" Exclude="$(MSBuildProjectFile)"/>
</ItemGroup>
<PropertyGroup>
<Configuration>Release</Configuration>
</PropertyGroup>
<Target Name="Build">
<MSBuild Projects ="@(ProjectsToBuild)"
ContinueOnError ="false"
Properties="Configuration=$(Configuration)">
<Output ItemName="OutputFiles" TaskParameter="TargetOutputs"/>
</MSBuild>
</Target>
</Project>
これは、MSbuild のコンパイル タスクを呼び出すことで実行できます。
そのため、VBC コンパイラ タスクを使用してクラスを dll にコンパイルするタスクを作成すると、うまくいきます。
あとは、デフォルトのコンパイル タスクがメイン モジュールの exe を生成します。
こうやって !
プロジェクトを 2 つのプロジェクトに分ける必要があります。1) main() を含む .EXE および 2) すべてのライブラリ クラスを含む。次に、.EXE プロジェクトが .DLL プロジェクトを参照します。
.dll と .exe を取得するために同じプロジェクトを 2 回再構築するのはかなり奇妙です。懸念事項を明確に分離してみませんか?