0

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

我们有一个包含多个组件 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。

任何人以前遇到过这种情况或能够对此有所了解吗?

4

1 回答 1

0

Trivial and very annoying solution to the problem. The GUID for the project was incorrect in the .wdproj file.

Damn you copy & paste.

于 2011-01-25T00:34:23.910 回答