NuGet:不设置程序集引用

NuGet:不设置程序集引用,nuget,Nuget,我已经创建了一个包含DLL的nuget包,我想与多个应用程序共享该DLL。我想在不设置DLL引用的情况下将此包添加到应用程序中。我正在使用依赖项注入在运行时加载此DLL或测试DLL 默认情况下,nuget会在安装过程中自动设置对lib中包含的所有DLL的引用 有没有办法将nuget包配置为在安装到我的项目中时不设置对DLL的引用?。虽然如果dll完全在运行时加载(使用MEF或Assembly.Load或类似方法),但生成系统可能不会将dll复制到项目的输出目录。注意:这些文档仅适用于packag

我已经创建了一个包含DLL的nuget包,我想与多个应用程序共享该DLL。我想在不设置DLL引用的情况下将此包添加到应用程序中。我正在使用依赖项注入在运行时加载此DLL或测试DLL

默认情况下,nuget会在安装过程中自动设置对lib中包含的所有DLL的引用


有没有办法将nuget包配置为在安装到我的项目中时不设置对DLL的引用?

。虽然如果dll完全在运行时加载(使用MEF或
Assembly.Load
或类似方法),但生成系统可能不会将dll复制到项目的输出目录。注意:这些文档仅适用于
packages.config
项目。我需要改进文档,以解释如何为
PackageReference

执行等效操作,但这描述了如何在不存在引用的地方显式添加引用。我的问题是nuget正在添加一个我不想要的引用。主程序集似乎没有“不引用”标志。当nuspec没有任何
元素时,NuGet将向包中的每个dll(对于选定的TFM)添加引用。通过使用
,它会告诉NuGet要在项目的csproj中添加引用的dll,并且在nuspec
部分中没有列出的任何dll都不会添加到csproj中。我以前没有发现您的包只包含1个dll。您可以尝试将
元素用于您使用的任何目标框架,以查看这是否允许您指定不引用。但我认为这对packages.config项目不起作用,因为ResolveAssemblyReference是如何工作的(请参阅我的文档PR以获取链接和简要说明)。我认为,如果您创建一个空的
ref\\\\\文件,它可能适用于ProjectReference项目。对于ASP.NET,最常见的是从包中获取css或js。但是如果你不使用它,那么你可以在ASP.NET中使用PR。您需要卸载所有软件包,确保visual studio nuget选项在第一次安装软件包时询问您使用哪种格式,然后再次安装您的软件包。PackageReference是在我加入团队之前添加的,但我认为大约是nuget 4.2或4.3。只要您使用的NuGet版本大于此版本,就可以。毫不奇怪,我建议使用最新版本的NuGet。