2017-12-18 14 views
0

私は、TFSを介してASP.NET Core 2.0.3 Web APIをビルドして展開しようとしています。TFS上にx86のASP.NETコアを構築する

私は、Visual Studioでx86プラットフォームをターゲットにしてリリースを設定しました。 私もcsprojに次のように確保してきました:建物がローカルフォルダのbin \のx86 \デバッグ\のnetcoreapp2.0で期待される出力

TFSにおけるオーバー

を生成

<PropertyGroup> 
    <TargetFramework>netcoreapp2.0</TargetFramework> 
    <Platforms>x86</Platforms> 
</PropertyGroup> 

私は新しいを持っています.NET COREは、リストア/ビルド/パブリッシュ・タスクを使用して構成をビルドします。私は、彼らが唯一のデバッグまたはリリースのいずれかであるBuildConfigurationを使用

Build: --configuration $(BuildConfiguration) 

Publish: --configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory) 

彼らは、x86に私がどれCPUから変更した標準BuildPlatformビルド変数を使用しないことに注意してください。これにより、任意のCPU dllがリリースサーバー上でx64として実行されます。

私はpublishコマンドに-r win7-x86を追加しようとしましたが、これにより、私が望むものではない自己完結型の配布が公開されました。

ビルドコマンドに-r win7-x86を追加しようとしましたが、正しいdllが生成されますが、パブリッシュコマンドはそれ自身の暗黙的ビルドであり、前のビルドタスクの出力は使用しません。

TFSでWebアプリケーション用のx86 DLL(フレームワークに依存)を公開するにはどうすればよいですか?

+0

使用しているTFSのバージョンは? –

答えて

0

.NETコアアプリケーション(.NET FrameworkではASP.NETコアではないnetcoreapp*)では、ビルド時に使用されるプラットフォームは通常問題ではありません。

ビット数は、アプリケーションのロードと実行に使用されるホストdotnet.exeのバージョンによって決まります。例えば。 C:\Program Files\dotnet\dotnet.exe(64ビット)またはC:\Program Files (x86)\dotnet\dotnet.exe(32ビット)。

-rスイッチセットはどのような)自己完結型の展開にのみ関連しますが、実行時固有のアプリケーションを作成せずに構築されているように--self-contained false(=>SelfContained MSBuildのプロパティ)を指定するオプションもありRuntimeIdentifier MSBuildのプロパティ自己完結型デプロイメントこれは通常、ランタイム固有のアセットをフィルタするためにのみ必要です。 runtimesサブフォルダ内のwindows/linux/Macなどの複数のバージョンではなく、SQLiteネイティブライブラリのwin-x32バージョンのみが含まれています。

関連する問題