0

我有一个 .NET 解决方案,其中包含 10 个 C# 项目和 2 个 C++/CLI 项目。我已将所有项目从 4.0 版升级到 5.0 版。通过将Common Language Runtime Support设置为/clr:safe并将.Net Core Target Framework设置为.NET 5.0,使用 upgrade-assistant 手动升级 C# 项目和升级 C++/CLI 项目。

我正在使用 ILRepack 合并所有项目的 DLL:

<Target Name="PostBuild" AfterTargets="Build">
    <Exec Command="$(ILRepack) /internalize /keyfile:$(SolutionDir)..\keys\SolutionName.snk /out:$(SolutionDir)..\bin\$(ConfigurationName)\SolutionName.dll $(TargetDir)\SolutionName.Project1.dll $(TargetDir)\SolutionName.Project2.dll $(TargetDir)\SolutionName.Project3.dll $(TargetDir)\SolutionName.Project4.dll" />
</Target>

C# 项目成功合并,但如果我尝试合并 C++/CLI 项目 DLL,则会收到以下错误:

无法加载程序集 C:\ProjectPath\bin\net5.0-windows\SolutionName.Project4.dll

尽管文件存在于给定的路径中。

此外,如果我将 C++/CLI 项目定位回 .NET 4.0,则 DLL 将成功合并

4

0 回答 0