【发布时间】:2017-02-01 12:01:49
【问题描述】:
我有一个包含两个项目的解决方案。第一个项目名为 Library1,它引用名为 Referencelibrary 的项目二。我正在尝试将 ReferenceLibrary 的 DLL 嵌入 Library1 的 nuget 包中,这样我就不必发布 2 个单独的 nuget 包。通过将以下条目添加到我的 csproj 文件中,我已经能够将 ReferenceLibrary 的 DLL 嵌入到 nuget 包中(看起来如此):
<ItemGroup>
<ProjectReference Include="..\ReferenceLibrary\ReferenceLibrary.csproj">
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
<IncludeAssets>ReferenceLibrary.dll</IncludeAssets>
<IncludeAssets>ReferenceLibrary.pdp</IncludeAssets>
</ProjectReference>
</ItemGroup>
但是当我导入 nuget 包并尝试运行我的测试应用程序时,我得到以下异常:
我假设 DLL 已被嵌入,因为在将“IncludeAssets”添加到 csproj 之前,我无法导入 nuget 包,因为它试图引用 ReferenceLibrary nuget 包。但是在添加了这些条目之后,它允许我导入它。但现在它会在运行时爆炸。任何帮助将不胜感激。谢谢!
;)
【问题讨论】:
-
“这样我就不必发布 2 个单独的 nuget 包”:为什么这对您如此重要?
-
这个问题有什么更新吗?你能从 Leo 的建议中得到有用的信息吗?
-
您好 Jeroen,因为我通常对所有代码使用分层方法。我经常做的事情是将我的数据访问层与其他层分开。因此,在这种特殊情况下,我不想发布单独的存储库 nuget 包。
-
@Wendy - MSFT - 不是真的,即使在尝试了 Leo 的建议后,我仍然收到 System.IO.FileNotFoundException 错误消息。
标签: c# .net visual-studio nuget .net-core