0

私はVBクラスを持っていて、実行すると:

msbuild /t:Compile

クラスのコンパイル済みコードを含むアプリケーション用の Exe も生成します。

myfolder フォルダーに VB クラス用の個別の dll を用意したいと考えています。

What extra arguments do I have to pass, in order to get my dll in myfolder ?

どんな助けでも大歓迎です!!

4

3 に答える 3

3

MSBuild スクリプトの標準的な Visual Studio 規則に従う場合 (そしておそらくそうしている場合)、.vbproj1 つの出力アセンブリ (.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>
于 2011-07-20T08:54:47.507 に答える
1

これは、MSbuild のコンパイル タスクを呼び出すことで実行できます。

そのため、VBC コンパイラ タスクを使用してクラスを dll にコンパイルするタスクを作成すると、うまくいきます。

あとは、デフォルトのコンパイル タスクがメイン モジュールの exe を生成します。

こうやって !

于 2011-07-26T15:48:30.167 に答える
0

プロジェクトを 2 つのプロジェクトに分ける必要があります。1) main() を含む .EXE および 2) すべてのライブラリ クラスを含む。次に、.EXE プロジェクトが .DLL プロジェクトを参照します。

.dll と .exe を取得するために同じプロジェクトを 2 回再構築するのはかなり奇妙です。懸念事項を明確に分離してみませんか?

于 2011-07-20T19:59:25.637 に答える