gpt4 book ai didi

c# - 如何强制 Sgen 创建 .net 3.5 序列化程序程序集

转载 作者:行者123 更新时间:2023-11-30 21:20:19 26 4
gpt4 key购买 nike

我的 .NET 3.5 库中有一个 sgen 构建步骤。在 VS2010 中,这会生成 .NET 4 MyLib.XmlSerializers.dll,无法从 .NET 3.5 应用程序加载它。有谁知道如何更改构建步骤以获得正确版本的程序集?是否可以将 IL 将序列化程序程序集和库合并到单个 dll 中?

这是我的 sgen 构建步骤:

<Target Name="AfterBuild" DependsOnTargets="AssignTargetPaths;Compile;ResolveKeySource" Inputs="$(MSBuildAllProjects);@(IntermediateAssembly)" Outputs="$(OutputPath)$(_SGenDllName)">
<!-- Delete the file because I can't figure out how to force the SGen task. -->
<Delete Files="$(TargetDir)$(TargetName).XmlSerializers.dll" ContinueOnError="true" />
<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>

谢谢

编辑:我发现了同样的问题 here ,但我会等待一段时间,看看是否有人有更好的解决方案。

最佳答案

您可以使用 .NET 3.5 sgen.exe:

ToolPath="C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin"

您需要确保包含您要 sgen 的类型的程序集面向 .NET 3.5。

关于c# - 如何强制 Sgen 创建 .net 3.5 序列化程序程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3350780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com