我有一个Visual Studio(2017)C#解决方案,其结构如下:
Stateless
软件包的NuGet依赖关系(“无状态”是软件包的名称) DLLProject将依赖项隐藏在其接口内,即,Stateless
库的使用应该是DLLProject
的实现细节。
ExeProject
仅访问DLLProject
的公共接口和工厂。
由于超出此问题范围的原因,ExeProject
的目标是.Net Framework 4.6.1
,而DLLProject
的目标是.Net Standard 2.0
。
这可以正常编译,但是在调试时,可执行文件找不到Stateless.dll
。
针对DLLProject
进行链接时是否可以自动部署该DLL,而无需向Stateless
添加ExeProject
NuGet依赖项?
答案 0 :(得分:1)
在.NET Core中,此可传递的NuGet依赖项自动工作。
在.NET Framework上,引用的库有一个“复制本地”选项。对于有问题的,请确保将其设置为True。
更新
对于您的情况,.NET Framework应用程序和.NET Standard库,设置需要手动修改.NET Framework应用程序的.csproj文件。请注意: Copy all dependencies from .Net Standard libraries to .Net Framework Console application