为什么Visual Studio 2005不生成Xml序列化程序集?

时间:2020-03-06 14:45:00  来源:igfitidea点击:

当我将项目设置" Generate Serialization Assembly"设置为" On"时,Visual Studio 2005为什么不生成序列化设置?

解决方案

事实证明,Dev Studio仅支持Web服务的此设置。

对于非Web服务,我们可以通过将AfterBuild目标添加到项目文件中来使其工作:

<Target Name="AfterBuild" DependsOnTargets="AssignTargetPaths;Compile;ResolveKeySource" Inputs="$(MSBuildAllProjects);@(IntermediateAssembly)"  Outputs="$(OutputPath)$(_SGenDllName)">         
      <SGen BuildAssemblyName="$(TargetFileName)" BuildAssemblyPath="$(OutputPath)"  References="@(ReferencePath)" ShouldGenerateSerializer="true" UseProxyTypes="false" KeyContainer="$(KeyContainerName)" KeyFile="$(KeyOriginatorFile)" DelaySign="$(DelaySign)" ToolPath="$(SGenToolPath)">
          <Output TaskParameter="SerializationAssembly" ItemName="SerializationAssembly" />
      </SGen>
  </Target>

也可以看看:

  • SGen MSBuild任务
  • AfterBuild活动

可以使用sgen.exe手动完成。