c#运行一个程序让另一个类库重新编译生成新的dll

心泉梦帅 2013-10-14 10:51:49
运行A程序的时候让另一个类库重新编译生成dll
...全文
685 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
心泉梦帅 2013-10-21
  • 打赏
  • 举报
回复
引用 9 楼 xisat 的回复:
[quote=引用 7 楼 hu1990728 的回复:] ps:做这个目的是 动态生成一个dll,然后再用程序将这个dll和指定的exe进行捆绑,最后进行加密,这样就批量生成软件。我这只会代码对dll和exe进行绑定,但不会用代码对exe进行软件第三方加密。要是谁能告诉我如何调用软件第三方进行加密就好了。
Dotfuscator有命令行的 dotfuscator [-options] <configfile>[/quote] 额 其实用比较好的第三方软件更好的
xisat 2013-10-18
  • 打赏
  • 举报
回复
引用 7 楼 hu1990728 的回复:
ps:做这个目的是 动态生成一个dll,然后再用程序将这个dll和指定的exe进行捆绑,最后进行加密,这样就批量生成软件。我这只会代码对dll和exe进行绑定,但不会用代码对exe进行软件第三方加密。要是谁能告诉我如何调用软件第三方进行加密就好了。
Dotfuscator有命令行的 dotfuscator [-options] <configfile>
心泉梦帅 2013-10-17
  • 打赏
  • 举报
回复
引用 6 楼 xisat 的回复:
要我肯定第一个想到用,VS的命令行编译。 LZ的方法收藏了。 话说结贴率明显是 hu1990728 心泉梦帅 等级:Blank 结帖率:92.31%
因为我又发了2个贴没结账。。。。
心泉梦帅 2013-10-17
  • 打赏
  • 举报
回复
ps:做这个目的是 动态生成一个dll,然后再用程序将这个dll和指定的exe进行捆绑,最后进行加密,这样就批量生成软件。我这只会代码对dll和exe进行绑定,但不会用代码对exe进行软件第三方加密。要是谁能告诉我如何调用软件第三方进行加密就好了。
xisat 2013-10-17
  • 打赏
  • 举报
回复
要我肯定第一个想到用,VS的命令行编译。 LZ的方法收藏了。 话说结贴率明显是 hu1990728 心泉梦帅 等级:Blank 结帖率:92.31%
心泉梦帅 2013-10-17
  • 打赏
  • 举报
回复
/// <summary> /// 编译 /// </summary> /// <param name="references">引用要编译的dll</param> /// <param name="sources">源代码</param> /// <param name="outputfile">输出路径</param> /// <returns></returns> public bool Compile(string[] references, string[] sources, string outputfile) { // 编译参数 CompilerParameters param = new CompilerParameters(references, outputfile, true); param.TreatWarningsAsErrors = false; param.GenerateExecutable = false; param.IncludeDebugInformation = false; //param.EmbeddedResources.Add(@"C:\Documents and Settings\Administrator\桌面\1\1.pptx"); param.MainClass = "return2"; // 编译 CSharpCodeProvider provider = new CSharpCodeProvider(); //CompilerResults result = provider.CompileAssemblyFromSource(param, sources); CompilerResults result = provider.CompileAssemblyFromFile(param, sources); //ErrorMessage.Clear(); foreach (CompilerError error in result.Errors) { // 列出编译错误 if (error.IsWarning) continue; //ErrorMessage.Add("Error(" + error.ErrorNumber + ") - " + error.ErrorText + "\t\tLine:" + error.Line.ToString() + " Column:" + error.Column.ToString()); } //string err = null; //foreach (string item in ErrorMessage) //{ // err += item + "\n"; //} //MessageBox.Show(err, "编译出错!"); return false; }
心泉梦帅 2013-10-17
  • 打赏
  • 举报
回复
引用 3 楼 caozhy 的回复:
调用msbuild Process.Start(msbuild.exe所在的路径文件名 + " " + 项目.sln);
额。。话说那天就自己解决了 谢谢啦。我把代码贴出来吧
threenewbee 2013-10-16
  • 打赏
  • 举报
回复
调用msbuild Process.Start(msbuild.exe所在的路径文件名 + " " + 项目.sln);
jason成都 2013-10-16
  • 打赏
  • 举报
回复
什么意思哦,没有明白啊
心泉梦帅 2013-10-14
  • 打赏
  • 举报
回复
我结贴率是百分百的,没事来看看呗~留言留言

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧