我们在解决方案中使用的一个参考在我们部署代码时会导致问题。
参考是 System.Management.Automation。当我们发布解决方案时,我们使用 EncryptionWizard 3.4.13(政府版)存档文件,然后将存档文件刻录到 DVD 并将其带到单独的位置并在生产服务器上展开。归档和扩展功能对文件进行加密和解密。
在展开过程中,当它到达 System.Management.Automation.dll 时,它会停止解密。
EncryptionWizard 确实无能为力,但我们应该能够进行更改以解决该问题,因此我们希望排除正在发布的 System.Management.Automation。
我们希望使用 Visual Studio 2017 中的发布功能而不是使用 MSBuild 来完成此操作。
我在网上找到了一些对我不起作用的代码。在我的项目的 csprog 文件中,我输入了以下代码:
<None Update="System.Management.Automation" CopyToPublishDirectory = "Never"/>
然后我尝试了这个:
<None Update="bin\System.Management.Automation.dll">
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
当我查看 bin 文件夹时,System.Management.Automation.dll 总是在那里。
如果我将 System.Management.Automation 引用的 Copy Local 属性设置为 false,则我无法在 Visual Studio 中启动我的 Web 应用程序而不会出现错误,但是我的部署问题已解决。
我希望能够将 Copy Local 设置为 true,但从已发布的文件中排除 System.Management.Automation.dll 文件。