我真的不熟悉构建输出,nuget包,dll地狱,库依赖等。
在将this NuGet package添加到我的类库之前,在我构建之后,在/bin文件夹中只生成了一个DLL。
在添加NuGet包之后,我在/bin文件夹中获得了100多个dll。
有没有办法只为c#类库生成一个DLL?
当我需要从遗留应用程序调用我的类库时,我必须复制我的类库构建输出中的所有ALL以避免错误-这有点麻烦。
这是我的.csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Intacct.SDK" Version="2.0.5" />
</ItemGroup>
</Project>
发布于 2018-10-16 03:24:28
是的,你可以用ILMerge做到这一点。你将不得不添加额外的构建步骤:
<ItemGroup>
<PackageReference Include="ILMerge" Version="2.15.0" />
</ItemGroup>
<Target Name="ILMerge">
<!-- the ILMergePath property points to the location of ILMerge.exe console application -->
<Exec Command="$(ILMergeConsolePath) /out:MyApp.exe MyApp.exe lib1.dll lib2.dll" />
</Target>
有关更多想法,请参阅Merge DLL into EXE?。
https://stackoverflow.com/questions/52823326
复制相似问题