visual-studio - 限制在 Visual Studio 或其他开发者项目中加载网络框架 DLL
问题描述
我在 Visual Studio 中有一个网络框架 DLL 项目,该 DLL 在发布模式下编译并用于另一个项目,我如何限制他人加载或使用 DLL,而不是窃取我的 DLL 并在他/她的项目中使用?
解决方案
我找到了内部类和方法的解决方案:
我的 dll 中的一些类:
[assembly: InternalsVisibleTo("FriendAssembly")]
namespace MiLibrary
{
internal class Class1
{
internal static string GetName()
{
return "My Name";
}
}
}
某个班级的另一个项目:
namespace MyApp
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
txbText.Text = MiLibrary.Class1.GetName();
}
}
}
只有“FriendAssembly”可以访问Class1。“另一个项目”的程序集名称必须为“FriendAssembly”(菜单项目->“另一个项目”的属性->应用程序->程序集名称)
Stackoverflow 中的相关问题:
推荐阅读
- ruby-on-rails - 如何使用带有 remote:true 的 simple_form 显示验证失败时生成的错误
- python - 调平系统 discord.py
- sql - SQL - 将数据从同一表中的一列复制到另一列
- go - FLAC和MP3的色印指纹
- sparql - 在 Wikidata 上获取给定位置的最高级别 P131
- postgresql - PostgreSQL:通过随机 ID 选择,结果很奇怪
- node.js - 无法使用 Passport 在 Node 中处理登录
- html - 我是否需要使用 ttf 上传来支持跨浏览器字体?
- node.js - 处理嵌套的 firebase 函数
- css - 顺风 CSS 中相同高度的卡片