Dot-Net
我可以使用程序集不在 GAC 中的自定義保護提供程序加密 web.config 嗎?
我為我的 web.config 編寫了一個自定義的受保護配置提供程序。
當我嘗試用它加密我的 web.config 時,我從 aspnet_iisreg 收到以下錯誤
aspnet_regiis.exe -pef appSettings 。-prov CustomProvider(在我的 MSBuild 中執行)
無法載入文件或程序集“MyCustomProviderNamespace”或其依賴項之一。該系統找不到指定的文件。
檢查 Fusion 日誌後,我確認它正在檢查 GAC 和“C:/WINNT/Microsoft.NET/Framework/v2.0.50727/”(aspnet_iisreg 的位置)。但它找不到提供者。
我不想將我的組件移動到 GAC 中,我想將自定義程序集留在我的 ApplicationBase 中以復製到各種伺服器,而不必從 GAC 中拉/推。
這是我在 web.config 中的提供程序配置。
<configProtectedData> <providers> <add name="CustomProvider" type="MyCustomProviderNamespace.MyCustomProviderClass, MyCustomProviderNamespace" /> </providers> </configProtectedData>我想讓 aspnet_iisreg 檢查我的 ApplicationBase Bin 文件夾中的這個程序集。有沒有人有任何想法?
有點臟,我最終做的是將進行加密的 DLL 添加到建構機器的 GAC 中。這對配置進行了加密。
在部署解決方案時,我將 Dll 複製到 ApplicationBase 中,應用程序能夠成功解密它。