我正在将一个.NET Framework库转换为.NET Standard 2.0,因为我需要从旧的.NET Framework项目和现代的.NET 5项目中使用它。在原始库中,我使用了ProtectedData类,它是.NET Framework(来自System.Security.Cryptography程序集)的一部分。由于这不是基本的.NET Standard库的一部分,所以为了使其工作,我添加了适当的Nuget包System.Security.Cryptography.ProtectedData。有了这个包,项目可以正确编译,但是在我尝试运行时,我收到以下错误: System.IO.FileNotFoundException:“无法加载文件或程序集'System.Security.Cryptography.ProtectedData,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'或其某一个依赖项。系统找不到指定的文件。”所以我查看了编译输出目录,并且我发现没有System.Security.Cryptography.ProtectedData.DLL文件的痕迹,就好像编译系统没有将依赖项复制到输出目录。我该如何解决这个问题?
.csproj
文件中,你是否将所引用的.dll
的Copy Local
属性设置为True
? - Saggio