在构建过程中修改了VS2008 Web部署项目

时间:2011-01-17 07:20:30

标签: visual-studio-2008 wdproj

我们遇到的问题是,在构建过程中我们的某个部署项目会被修改。

我们有一个包含多个组件Web服务的大型应用程序,作为解决方案构建过程的一部分,我们有任务将已编译的程序集和配置文件等复制到特定文件夹,然后将它们压缩以备部署。

我们在解决方案中有5个部署项目,但只有一个有此问题。

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文件会被更改,如下所示:

<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文件夹中,从而导致错误的dll位于bin文件夹中。

我们现有的唯一构建任务是ZIP文件在目录中的ZIP和一个用SVN版本号更新版本的任务。我们正在使用VS2008。

任何人在此之前遇到过这个问题或能否对此有所了解?

1 个答案:

答案 0 :(得分:0)

解决问题的琐碎和非常恼人的解决方案。 .wdproj文件中项目的GUID不正确。

该死的你复制&amp;糊。