Проекты веб-развертывания VS2008, измененные в процессе сборки - PullRequest
0 голосов
/ 17 января 2011

У нас возникла проблема, когда один из наших проектов развертывания был изменен в процессе сборки.

У нас есть большое приложение с несколькими компонентными веб-сервисами, и в рамках процесса сборки решения у нас есть задачи, чтобы скопировать скомпилированные сборки и файлы конфигурации и т. Д. В определенную папку, а затем архивировать их, готовые к развертыванию. *

У нас есть 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.

Кто-нибудь сталкивался с этим раньше или смог пролить свет на это?

1 Ответ

0 голосов
/ 25 января 2011

Тривиальное и очень раздражающее решение проблемы. В файле .wdproj указан неправильный GUID проекта.

Черт, ты копируешь и вставляешь.

...