我有一个Visual Studio解决方案,它包含两个项目,ProjectA和ProjectB。 ProjectA引用了ProjectB,因此在构建解决方案时,首先构建ProjectB。
最近,我不得不在ProjectB中使用nuget包。这个nuget包包含两个dll; “Managed.dll”和“Native.dll”,其中前者是托管程序集,后者是本机C ++程序集。在编译ProjectB时,nuget包中的a custom target确保将“Native.dll”(未直接引用)复制到ProjectB的输出目录中。编译ProjectA时,“Managed.dll”正在与ProjectA的输出文件夹进行编译,因为ProjectB对此程序集有一个“硬”引用。另一方面,“Native.dll”未被复制,从而导致运行时错误。
此刻我的解决方案是让ProjectA也包含nuget包。我发现这不令人满意,因为ProjectA不需要这个nuget参考。
是否有另一种方法可以将“Managed.dll”和“Native.dll”复制到ProjectA的输出文件夹中?