我正在写应用程序,它快结束了,我想使用智能汇编对我的代码进行模糊处理,如果可能的话,还要签名……
问题是我的应用程序是多部分的,更重要的是它的一个部分是基于服务的,它应该使用MSI安装项目来安装工作,而我不能首先构建,然后打包它,所以我需要做一个构建时混淆的事情,所以所有的类库项目,服务和用户界面在构建时执行混淆,一旦它们准备好了,MSI就可以打包它们了。这样每个人都会很开心。
我听说有一些配置允许Smart assembly在构建时这样做,但我不知道怎么做:-s
发布于 2012-09-19 00:27:55
从技术上讲,程序集必须在SmartAssembly可以处理它之前生成-它使用中间语言代码,因此只有在编译之后才能进行处理。
但是,我不认为这是一个问题--最终,您只是希望在将构建输出打包到MSI之前对其进行模糊处理。因此,如果您希望自动执行此操作,可以编辑vsproj以包含一个SmartAssembly构建后步骤:http://www.red-gate.com/supportcenter/Content/SmartAssembly/help/6.7/SA_UsingSmartAssemblyWithMSBuild
如果您正在使用MS安装和部署项目来构建微系统集成,则需要进行的重要更改是将您的SmartAssembly输入和输出指向/obj文件夹,因为出于某种奇怪的原因,微软从/obj而不是更传统的/bin中获取程序集。
发布于 2013-09-25 07:29:40
我找到了这个问题的解决方案,"Brian Donahue“在答案中说:
如果您使用MS安装和部署项目来生成MSI,则需要进行的重要更改是将SmartAssembly输入和输出指向/obj文件夹,因为出于某种奇怪的原因,微软从/obj而不是更传统的/bin获取程序集
解决方案是使用文本编辑器打开设置(.vdproj)文件(我使用Notepad++ ),然后转到文件末尾,直到您在此节点中找到名为"ProjectOutput“的节点。在此属性中,您将找到名为"SourcePath”的属性。您将找到项目输出(.exe或.dll)的路径。
现在将此路径更改为指向"bin“目录而不是"obj”目录,并且不要忘记将"x86“或"x64”目录更改为"Release“或"Debug”目录。
https://stackoverflow.com/questions/12476014
复制相似问题