У нас возникла проблема, когда один из наших проектов развертывания был изменен в процессе сборки.
У нас есть большое приложение с несколькими компонентными веб-сервисами, и в рамках процесса сборки решения у нас есть задачи, чтобы скопировать скомпилированные сборки и файлы конфигурации и т. Д. В определенную папку, а затем архивировать их, готовые к развертыванию. *
У нас есть 5 проектов развертывания, но только один имеет эту проблему.
Все 5 проектов веб-развертывания выглядят примерно так:
<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>
Теперь, время от времени, может быть, каждый пятый билд или около того, после того, как сборка завершена, один из файлов .wdproj изменяется, например:
<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 и помещены сгенерированные сборки в папку bin для Компонента 1, что приведет к тому, что в папке bin окажется неверный dll.
Единственные задачи по сборке, которые у нас есть, - это ZIP-файлы в каталоге и одна для обновления версии с номером версии SVN. Мы используем VS2008.
Кто-нибудь сталкивался с этим раньше или смог пролить свет на это?