我有一個共享的.Net DLL,由幾個應用程序和一個公共可用的API使用。我打算分發API DLL,但由於鏈接也必須分發共享的DLL。如何鎖定分佈式DLL?
什麼是防止不必要的類和數據被使用的最佳選擇?
將共享dll中的所有內容聲明爲不在API中使用的內部函數?
創建一個新的DLL,其中包含API和其他項目之間的所有共享項目?
編輯:所有的東西都在C#中創建。我最感興趣的是向用戶展示一個友好的API。這是我的理解,無論我做用戶總是可以使用反射器來看看它。
我有一個共享的.Net DLL,由幾個應用程序和一個公共可用的API使用。我打算分發API DLL,但由於鏈接也必須分發共享的DLL。如何鎖定分佈式DLL?
什麼是防止不必要的類和數據被使用的最佳選擇?
將共享dll中的所有內容聲明爲不在API中使用的內部函數?
創建一個新的DLL,其中包含API和其他項目之間的所有共享項目?
編輯:所有的東西都在C#中創建。我最感興趣的是向用戶展示一個友好的API。這是我的理解,無論我做用戶總是可以使用反射器來看看它。
你沒有提及你要使用的語言。如果它是一個託管程序集,那麼它比你所問的要多得多。
只是試圖隱藏你的代碼隱藏在內部方法或私有代碼總是可以反編譯。所以這是你必須處理的第一件事情之一。您必須對該代碼進行混淆,以便反編譯的內容不可理解。
你可以鎖定dll,但這很難完成,取決於你的實現如何,那麼它可能根本沒有幫助。
我在RedGate購買它之前就使用過這款產品,它非常棒。它擊敗了我的代碼,從網上的隨機帖子中挑選出來的褲子。但它可能是你想要使用的東西。
http://www.red-gate.com/products/dotnet-development/smartassembly/
安全機制的決定是基於資源的重要性。僅僅因爲通常方法越安全,性能小組越多。
嗯,根據我第一次讀我要像「去了一個DLL」反應,因爲這個問題是要克服API unnessecary混亂。有一個或兩個dll的版本控制也有所不同。所有給出的答案都傾向於防止知識產權的可能喪失...... @Telavian您是在尋找一種很好的/乾淨的api方法或是保護您的工作的解決方案?> – rene 2011-02-16 18:13:55