c#创建与调用dll
c#创建与调用dll
现将实践中遇到的问题和解决方法做个记录。
在VS中将cs编译成dll(两种方法,注意\与/区别)
csc \out:C:\Inetpub\wwwroot\ServiceRoleManager\App_Da
ta\RestartSOM.dll \t:library C:\Inetpub\wwwroot\ServiceRoleManager\App_Data\RestartSOM.cs
csc /target:library /out:C:\Inetpub\wwwroot\ServiceRoleManager\App_Data\RestartSOM.dll C:\Inetpub\wwwroot\ServiceRoleManager\App_Data\RestartSOM.cs
若要生成可执行文件 MyClient.exe,请使用以下命令行:
csc /out:MyClient.exe /reference:MyLibrary.DLL MyClient.cs
/out 编译器选项通知编译器输出 EXE 文件并且指定输出文件名 (MyClient.exe)。/reference 编译器选项指定该程序所引用的 DLL 文件。
调用Dll
在 网上了很多方法,一般说aspnet权限不够,需要模拟administrator用户来启动exe,这是其中原因之一,但是仅仅这样还是不行。我试过了 这个方法,虽然模拟administrator,在任务管理器里面这个exe的进程用户由aspnet变成了administrator,但是界面还是出 不来。
幸运的是,终于找到了办法。
修改“服务”。在“我的电脑”,右键“管理” ,选择“IIS Admin”服务,双击,选择“登录”,勾选“服务与桌面交互”
模拟Administrator用户:
在“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG”下面找到machine.config,编辑属性:
<system.web>
<processModel autoConfig="true" userName="Administrator" password="****"/>
</system.web>
重启IIS服务就OK了!!
在调用dll,要注意两点:第一、添加命名空间的应用(using namespace;),第二、在工程项目中添加dll的引用(Add Reference)
csc /target:library /out:C:\Inetpub\wwwroot\ServiceRoleManager\App_Data\RestartSOM.dll C:\Inetpub\wwwroot\ServiceRoleManager\App_Data\RestartSOM.cs
若要生成可执行文件 MyClient.exe,请使用以下命令行:
csc /out:MyClient.exe /reference:MyLibrary.DLL MyClient.cs
/out 编译器选项通知编译器输出 EXE 文件并且指定输出文件名 (MyClient.exe)。/reference 编译器选项指定该程序所引用的 DLL 文件。
调用Dll
在 网上了很多方法,一般说aspnet权限不够,需要模拟administrator用户来启动exe,这是其中原因之一,但是仅仅这样还是不行。我试过了 这个方法,虽然模拟administrator,在任务管理器里面这个exe的进程用户由aspnet变成了administrator,但是界面还是出 不来。
幸运的是,终于找到了办法。
修改“服务”。在“我的电脑”,右键“管理” ,选择“IIS Admin”服务,双击,选择“登录”,勾选“服务与桌面交互”
模拟Administrator用户:
在“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG”下面找到machine.config,编辑属性:
<system.web>
<processModel autoConfig="true" userName="Administrator" password="****"/>
</system.web>
重启IIS服务就OK了!!
在调用dll,要注意两点:第一、添加命名空间的应用(using namespace;),第二、在工程项目中添加dll的引用(Add Reference)