当前位置:首页 » 编程软件 » net动态编译

net动态编译

发布时间: 2022-04-10 23:48:48

⑴ VB.NET 2008 动态编译,在RichTextBox1 中填入代码,点击Button1运行该代码,在Textbox中显示结果

添加引用MicrosoftScriptControl

ImportsMSScriptControl
PublicClassForm1
.ScriptControl
PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
ScripObj.Language="VBScript"
EndSub

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Try

ScripObj.AddCode(RichTextBox1.Text)
ScripObj.Run("a",TextBox1)

CatchexAsException
MsgBox(ex.Message)
EndTry
EndSub
EndClass

'在文本框中输入的函数
suba(obj)
dima,b
a=40:b=30
ifa>bthen
obj.text="A>B"
else
obj.text="A<B"
endif
endsub

⑵ .net是动态编译还是静态编译该如何解决

------解决方案-------------------------------------------------------- 生成时不同的语言使用不同的编译器进行一次编译,成为IL代码。 IL代码通过JIT动态编译成为机器语言。 ------解决方案-------------------------------------------------------- ------解决方案-------------------------------------------------------- visual c++.net可以/CLR ------解决方案-------------------------------------------------------- 可以有动态和静态的说。 ------解决方案-------------------------------------------------------- 大致有两种情形,动态和静态: 1. 一般情况下是JIT (Just in time)。CLR在执行方法的时候会调用一个Stub,这个Stub如过函数没有被Jit则指向JIT函数,执行则会被自动JIT,然后Patch返回地址,返回之后直接执行JIT之后的本地代码,如果已经JIT,则指向JIT后的代码 2. 如果Assembly已经被NGEN过,这种情况下方法的Stub直接指向NGEN之后的代码,这个代码已经被Prejit过,可以直接调用而无需JIT参与 ------解决方案--------------------------------------------------------

⑶ asp.net 网站 不需要重新编译发布,动态扩展功能

做好插件接口,把每个新的功能当做插件来做。

⑷ VS2008 C#.net做的动态网站怎么打包编译啊,要上传到空间上去发布应该怎么做啊(空间是配置好的)

点击“生成”菜单——选择“发布”,然后选择一个发布路径。

待发布成功以后,你将发布目录里的全部文件使用 FTP 上传就可以了。

如果你有管理权限,直接向服务器发布也是可以的,不过不建议这样做,这样安全性能不高。

如果有数据库,得先以附加或还原方式添加数据库先。。。

⑸ .NET Frame work编译机制(二次编译)

C++和.Net程序采用了两种不同的编译方式。通常一个C++编写的程序,都是一次编译成二进制的代码,在相应的操作系统平台上直接执行即可。而.Net程序采用两次编译的方式,用C#,VB.Net等语言写成的程序被编译成IL代码,通过CLR在运行的时候JIT编译成为本地二进制代码。
MFC和WinForm很多设计上的不同从根本上说,都是因为编译模式带来的不同。因此,在仔细探讨MFC和WinForm之前,有必要细细体会一下不同编译方式带来的改变。
考虑一段代码,它需要在不同的编译环境下生成不同的代码,或者是为了减少代码编写量用一些替换方式取代类似的代码。在C++中利用预编译和宏来解决这些事情。MFC框架中,更是大量使用宏来进行核心功能的设计。但是宏只是一种巧妙的减少输入代码量的方式,本质上和手写输入一些代码并无区别(也许不够严密吧),它并不能在程序运行的时候动态支持代码的插入和改变,因为此时它已经编译完成了。而二次编译则不同,你可以将它的第一次编译看成是通常一次编译程序的预编译期,只是这个预编译更为的强大,它可以编译生成信息更为丰富的元数据。并且,只要在JIT执行前动态插入代码,利用反射等手段,就可以将已经编译好的程序的行为在某种程度上进行改变,其动态性能得到了本质上的改变。
因此,在MFC和WinForm中,我们可以看到两者在动态性能,安全性和效率方面都有很大的不同,总结一下,都可以归结到这不同的编译模式上来。在以后的日志中,都可以看到这些区别的

⑹ net是动态编译还是静态编译

静态编译与动态编译的区别: 1、动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。 所以其优点一方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。 缺点一是哪怕是很简

⑺ .net 编译后.aspx页面上的服务器端代码(如:<%response.write("dd")%>)会发生变化吗

.NET的页面是将代码和界面分离的,所以编译后只是将代码页面也就是.cs的页面进行封装,而.aspx的页面是不做任何操作的,所以你在.aspx页面上做的服务器端代码,是可以看见和修改的。

⑻ 软件采用.net C#开发,不想让人轻松破解核心逻辑及授权验证代码,DLL也不想被人随意调用,有什么办法吗

首先,我来介绍一下发布出去的DLL所面临的风险:
一、直接引用
二、反编译
三、反射
如果DLL一点措施都不做的话,上面任意一种都可以达到破解目的的。

然后,通常网上能搜到如下的保护方式,但真心的来说,用处不大,当然对小白破解者增加了难度。
一、混淆类的工具(如Dotfuscator,但是可以通过ILSpy、Reflector等反编译哦,直接COPY代码也能运行)
二、加密类的工具(如MaxToCode,网上有相应的破解教程)
三、加壳类的工具(如Sixxpack,网上有相应的破解教程)
四、强签名(签名只是防止项目中的某一个DLL被篡改了,不能防止反编译或反射的哦)

说了那么多,难道没有相对靠谱的方式了吗?
最后,我们进入正题
上面那些工具的目的归结出来大约完成两个目的,一是不能看,二是不能调,当然,我们也是实现这两个目的,只是手段不同。
一、不能看:.NET DLL可以包含托管堆代码(可以被反编译的)与非托管堆代码(不能被反编译,要反编译也是更高层次的了,不在讨范围内),我们将核心逻辑代码置于非托堆代码中,由托管堆代码提供接口供外部调用,调用时将非托管代码通过.NET动态编译特性编译后返回执行结果。这样就保证了不能看。
二、不能调:我们在非托管代码中加入验证调用者来源功能,判断调用者的HASH值是不是与在非托管代码中约定的HASH值(发布时需要提前生成相关引用者的HASH值存于非托管代码,最后生成非托管代码的DLL放于安装包中)一致,如一致则通过执行返回结果,不一致则返回空。这样就解决了非合法来源不能调的问题。

更多参考:http://www.cnblogs.com/dengxi/p/5750170.html

热点内容
电脑如何查看型号和配置 发布:2024-05-08 10:19:56 浏览:420
大地电子保单pdf密码多少 发布:2024-05-08 09:54:21 浏览:860
ftp扫描免费主机 发布:2024-05-08 09:50:05 浏览:339
听说ftpmp4 发布:2024-05-08 09:39:51 浏览:475
退货上传图片 发布:2024-05-08 09:38:38 浏览:79
linux命令安装rpm 发布:2024-05-08 09:37:37 浏览:643
什么是逆算法 发布:2024-05-08 09:28:17 浏览:208
泰康平衡配置跟行业配置哪个好 发布:2024-05-08 09:19:09 浏览:598
动态创建存储过程 发布:2024-05-08 09:19:01 浏览:52
点赞熊源码 发布:2024-05-08 08:49:44 浏览:458