我们遇到的问题是,在构建过程中我们的某个部署项目会被修改。
我们有一个包含多个组件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。
任何人在此之前遇到过这个问题或能否对此有所了解?
答案 0 :(得分:0)
解决问题的琐碎和非常恼人的解决方案。 .wdproj文件中项目的GUID不正确。
该死的你复制&amp;糊。