Поделиться через


XML Serialization assemblies are not publised via ClickOnce after installing VS2008 SP1

A workaround to this problem is to go to the publish properties and then on the publish tab, select Application files and set the SEWOP_1_1_6_5/SEWOP.XmlSerializers.dll to exclude.

Please add this to SGen Task
<SGen
BuildAssemblyName="$(TargetFileName)"
BuildAssemblyPath="$(IntermediateOutputPath)"
References="@(ReferencePath)"
ShouldGenerateSerializer="$(SGenShouldGenerateSerializer)"
UseProxyTypes="$(SGenUseProxyTypes)"
KeyContainer="$(KeyContainerName)"
KeyFile="$(KeyOriginatorFile)"
DelaySign="$(DelaySign)"
ToolPath="$(SGenToolPath)"
SerializationAssembly="$(IntermediateOutputPath)$(_SGenDllName)"
>
If the serialization assembly already exists then Sgen does not create a new output populating the Serialization Assembly property and there is nothing to copy.
With this change the SerilizationAssembly is set by default so even if it does not create a new assembly the value is present to be added over to the dependency list and picked up by the Copy tasks

2) A workaround to this problem is to go to the publish properties and then on the publish tab, select Application files and set the SEWOP_1_1_6_5/SEWOP.XmlSerializers.dll to exclude.
Also see Serialized Assembly for more information on this.

If we are using MSBuild, the workaround to the problem will be to call the clean target before the publish from the command line.
msbuild /target:clean;publish

Comments