我们遇到了一个问题,我们的一个部署项目在构建过程中被修改。
我们有一个包含多个组件 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 文件夹中,从而导致 bin 文件夹中存在错误的 dll。
我们唯一的构建任务是压缩目录中的文件,以及使用 SVN 修订号更新版本。我们正在使用VS2008。
任何人以前遇到过这种情况或能够对此有所了解吗?