0

ビルドプロセス中にデプロイメントプロジェクトの1つが変更されるという問題が発生しています。

いくつかのコンポーネントWebサービスを備えた大規模なアプリケーションがあり、ソリューションのビルドプロセスの一部として、コンパイルされたアセンブリや構成ファイルなどを特定のフォルダーにコピーし、それらを圧縮して展開できるようにするタスクがあります。

ソリューションには5つの展開プロジェクトがありますが、この問題が発生しているのは1つだけです。

5つのWeb展開プロジェクトはすべて、通常は次のようになります。

<PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>9.0.21022</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{GUID}</ProjectGuid>
    <SourceWebPhysicalPath>..\..\WebService\X.Connectors\Component1\X.Connectors.Component1</SourceWebPhysicalPath>
    <SourceWebProject>{GUID}|WebService\X.Connectors\Component1\X.Connectors.Component1\X.Connectors.Component1.csproj</SourceWebProject>
    <SourceWebVirtualPath>/X.Connectors.Component1.csproj</SourceWebVirtualPath>
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>..\Setups\Connectors\Component1\</OutputPath>
    <EnableUpdateable>false</EnableUpdateable>
    <UseMerge>true</UseMerge>
    <SingleAssemblyName>OBE.Connectors.Component1.Deploy</SingleAssemblyName>
    <DeleteAppDataFolder>true</DeleteAppDataFolder>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugSymbols>false</DebugSymbols>
    <OutputPath>..\Setups\Connectors\Component1\</OutputPath>
    <EnableUpdateable>false</EnableUpdateable>
    <UseMerge>false</UseMerge>
    <SingleAssemblyName></SingleAssemblyName>
    <UseFixedNames>true</UseFixedNames>
    <DeleteAppDataFolder>true</DeleteAppDataFolder>
 </PropertyGroup>

現在、時々、おそらく5回ごとのビルドで、ビルドが完了した後、次のように.wdprojファイルの1つが変更されます。

<PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>9.0.21022</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{GUID}</ProjectGuid>
    <SourceWebPhysicalPath>..\..\WebService\X.Connectors\Component2\X.Connectors.Component2</SourceWebPhysicalPath>
    <SourceWebProject>{GUID}|WebService\X.Connectors\Component1\X.Connectors.Component1\X.Connectors.Component1.csproj</SourceWebProject>
    <SourceWebVirtualPath>/X.Connectors.Component1.csproj</SourceWebVirtualPath>
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>

この変更により、次のビルドでコンポーネント2のソースコードがコンパイルされ、生成されたアセンブリがコンポーネント1のbinフォルダーに配置されるため、binフォルダーに間違ったdllが含まれることになります。

私たちが実施している唯一のビルドタスクは、ディレクトリ内のファイルをZIPするタスクと、SVNリビジョン番号でバージョンを更新するタスクです。VS2008を使用しています。

誰かが以前にこれに遭遇したか、これに光を当てることができましたか?

4

1 に答える 1

0

問題に対する些細で非常に厄介な解決策。プロジェクトのGUIDが.wdprojファイルで正しくありませんでした。

くそーコピー&ペースト。

于 2011-01-25T00:34:23.910 に答える