【发布时间】:2022-01-02 01:06:16
【问题描述】:
我正在将 .NET Framework 库转换为 .NET Standard 2.0,因为我需要在旧的 .NET Framework 项目和现代 .NET 5 项目中使用它
在原始库中,我使用 ProtectedData 类,它是 .NET Framework 的一部分(来自 System.Security.Cryptography 程序集)。
这不是基础 .NET Standard 库的一部分,因此我添加了适当的 NugetPackage,System.Security.Cryptography.ProtectedData。
这样,项目编译正确,但是当我尝试运行它时,我得到以下错误:
System.IO.FileNotFoundException: '无法加载文件或程序集 'System.Security.Cryptography.ProtectedData,版本=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其之一 依赖关系。系统找不到指定的文件。'
于是我查看了编译输出目录,发现没有System.Security.Cryptography.ProtectedData.DLL文件的踪迹,就像编译系统没有将依赖项复制到输出目录一样。我该如何解决这个问题?
【问题讨论】:
-
您是否在
.csproj中将引用的.dllCopy Local属性设置为True? -
通常,这是由于VS。如果它编译好并且没有运行,那么您需要清理并重建您的解决方案。如果这不起作用,请启动一个新的 VS 和您的项目。
-
@Saggio:这不是本地 DLL,而是 NuGet 包
-
@NikhilAgrawal:试过了,没用
标签: c# .net-standard