不废话,直接代码:D:
cd D:\src\testproj\PrecompiledWeb
svn revert ../ -R
svn update ..rmdir BS /S /Q
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe ..\testproj.sln /p:DeployOnBuild=true /p:PublishProfile=..\BS\App_Data\PublishProfiles\publish.pubxml /m
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\aspnet_merge.exe" .\BS -o Site -a -rdel BS\bin\*.pdbcd ..
n...
大家做项目开发一般都是分层的,比如UI层,业务层,数据访问层。业务层引用数据访问层的DLL(比如dataAccess.dll),并使用dataAccess.dll中的方法。当项目完成并给客户用了,可有些心里BT的客户这个时候也可以请个稍微懂NET的人来引用你的dataAccess.dll并调用其中的方法搞破坏。比如可以直接使用里面的ChangePwd(string UserName,string Pwd)方法把其他用户的密码改了,这个时候就你就.......
好了,该开始说怎么保护我们的代码了:...
在上篇文章[基于.net core 微服务的另类实现]结尾处,提到了如何方便自动的生成微服务的客户端代理,使对于调用方透明,同时将枯燥的东西使用框架集成,以提高使用便捷性。在尝试了基于 Emit 中间语言后,最终决定使用生成代码片段然后动态编译的模式实现。
1.背景:
其一在前文中,我们通过框架实现了微服务面向使用者的透明调用,但是需要为每个服务写一个客户端代理,显得异常繁琐,其二项目中前端站点使用了传统的.Net Framewor...
做网站后台管理系统的时候,有时我们需要根据用户的录入配置动态生成一些频道,这些频道需要用到独立的Controller,这时就需要用到运行时动态编译了。代码如下:
using System.Web.Mvc;
using System.CodeDom.Compiler;
using System.Text;
using Microsoft.CSharp;namespace DynamicCompiler.Controllers
{public class HomeController : Controller{// GET: Homepublic ContentResult Index(){return Content(@"这个页面是vs生成...
很多时候,我们需要将.cs文件单独编译成.dll文件,这就需要使用csc命令将.cs文件编译成.dll动态链接库文件。具体的操作步骤如下:
打开命令窗口->输入cmd到控制台->cd C:WINDOWSMicrosoft.NETFrameworkv1.1.4322
转到vs.net安装的该目录下->执行csc命令csc /target:library File.cs->在该目录下产生一个对应名字的.dll文件(前提:把.cs文件放到C:WINDOWSMicrosoft.NETFrameworkv1.1.4322目录下)
csc命令的方式很多,请参考以下
编译 F...
1. 在解决方案中添加一个项目:JSControl
2. 在这个项目添加一个js文件(JScript1.js)
脚本的内容:
function showAlert(){
alert(Today is a good dary);
}3. 改变JScript1.js的属性,Build Action为Embedded Resource(嵌入的资源)
4. 在JSControl项目的AssemblyInfo.cs文件中添加一行:(注意JSControl.JScript1.js,JSControl是命名空间,JScript1.js是文件名)
[assembly: System.Web.UI.WebResource("JSControl.JScript1.js...
Net预编译命令
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe -? 显示说明
我们需要选择的命令为 aspnet_compiler.exe -m IIS元数据库 (可是怎么获得IIS元数据库喃)使用IIS资源管理工具 下载地址:http://download.csdn.net/detail/cake_green/6756847 这个要分的哈 大家也可以百度
打开 Metabase 根据路径就可以找到你的网站的元数据库地址 好了这下有了IIS网站元数据库地址我们就可以进行NET预编译了 万...
代码的动态编译并执行是一个.NET平台提供给我们的很强大的工具用以灵活扩展(当然是面对内部开发人员)复杂而无法估算的逻辑,并通过一些额外的代码来扩展我们已有 的应用程序。这在很大程度上给我们提供了另外一种扩展的方式(当然这并不能算是严格意义上的扩展,但至少为我们提供了一种思路)。
动态代码执行可以应用在诸如模板生成,外加逻辑扩展等一些场合。一个简单的例子,为了网站那的响应速度,HTML静态页面往往是我们最好...
动态编译与WS服务,有关系么?今天就乱弹一番,如何使用动态编译动态生成WS服务调用的代理类,然后通过这个代理类调用WS服务。 首先,动态编译这玩意在.NET里面是非常简单的,实际上只涉及到两个类型:CodeDomProvider以及CompilerParameters他们都位于System.CodeDom.Compiler命名空间。 以下代码可将源码动态编译为一个程序集:动态编译 代码如下:CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");Co...
在使用第三方类库时,经常会看到它自带的演示程序中,包含有这样的Demo许可文件 代码如下:Infragistics.Win.Misc.UltraButton, Infragistics2.Win.Misc.v11.1, Version=11.1.20111.2009, Culture=neutral, PublicKeyToken=f8b58b62b52fdf31Infragistics.Win.Misc.UltraLabel, Infragistics2.Win.Misc.v11.1, Version=11.1.20111.2009, Culture=neutral, PublicKeyToken=f8b58b62b52fdf31Infragistics.Win.Printing.UltraPrintPrevi...
代码如下:<asp:CheckBoxList ID="DDLGroups" runat="server" RepeatLayout="Table" RepeatColumns="2" RepeatDirection="Horizontal" style="border-collapse:collapse; line-height:18px;margin-left:2px;"> </asp:CheckBoxList> 代码如下:<style type="text/css"> #DDLGroups{border-collapse:collapse; line-height:18px} #DDLGroups td{width:300px; border:1px solid #F0F8FF;padding-left:5px} </style> 获取所选值: 代...
本文内容:1.问题引出2.问题解决3.原因分析 最近部门的开发环境都更新到了WIN7+.NET framework4+VS2010上,在体验新技术和新环境带给我们提高效率的方式方法的同时也带来了一些兼容性的问题;这几天项目闲暇时在研究SQLite,在做实验的时候碰到个问题,代码编译通过执行时反复异常中断,查到后面原来是SQLite.dll是在framework2.0环境下编译的而现在的运行环境是framework4.0,所以就出现了运行异常,如图:
由于以后的开发...
.net是一种建立在虚拟机上执行的语言,它直接生成 MSIL 的中间语言,再由.net编译器 JIT 解释映象为本机代码并交付CPU执行。中间语言很容易被反编译,所以研究下如何有效的保护dll文件。
我大致的方法为 :强签名+混淆+加密。强签名 强命名程序集,可以确保你的程序集唯一,而不被篡改、冒用等;即使相同名字的程序集如果签名也会不同。强签名很简单
为项目添加强名称方法:1.右键单击项目,打开属性窗口;2.在属性窗口里选择《签...
1.检测到有潜在危险的 Request.Form 值 原因: (1)在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置 (2)HTML里面写了两个<form>引起 解决: 方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest="false" %> 方案二: 修改web.config文件: <configuration> <system.web> <pages validateRequest="false" /> </system.web> </configuration> 因为v...
然而,杀鸡焉用牛刀,对于小型站点,我们完全可以从.net强大的功能中,翻出一些来方便我们使用. 我们知道一个页面经常会调用很多数据,有列表,有单条的,特别是列表,我们经常为不同的列表在.cs文件写不同的方法,一一采用"列表.DataSource=数据源;列表.DataBind();来完成绑定,这令到我们的 cs页面雍肿不堪!!!我经常有要推倒重来的冲动,但周而复始,我又写出一堆拉圾-_-!.好吧,这次我决定只写一个方法,不到15行的方法,就满足整个页面文章的调...