.net 如何在我的web应用程序中添加exe作为引用

.net 如何在我的web应用程序中添加exe作为引用,.net,.net,我已经创建了一个包含一些方法的exe(参考下面的exe示例) 使用系统; 使用System.Collections.Generic; 使用系统文本; 名称空间采样器 { 公共课程 { 静态void Main(字符串[]参数) { } } 公共类样本 { 公共样本(整数计数) { } 公共字符串SampleString(int InputValue) { //做点什么 返回“”; } } } 我想将引用此exe添加到我的web应用程序中,以调用exe中的(Sa

我已经创建了一个包含一些方法的exe(参考下面的exe示例)

使用系统;
使用System.Collections.Generic;
使用系统文本;
名称空间采样器
{  
公共课程
{  
静态void Main(字符串[]参数)
{  
}  
}  
公共类样本
{    
公共样本(整数计数)
{
}
公共字符串SampleString(int InputValue)
{
//做点什么
返回“”;
}
}  
}  

我想将引用此exe添加到我的web应用程序中,以调用exe中的(SampleString)方法。在.net中可能吗?我如何实现这一点

是-只需将其添加为类库即可。VisualStudio自2005年起就支持此功能

编辑:好的,听起来ASP.NET可能不喜欢.exe程序集:(

在这种情况下,我建议您从当前可执行文件中提取代码并将其放入类库中。您可能会发现将整个正常应用程序更改为DLL更容易—只需添加另一个可执行项目,该项目只需调用DLL即可启动“应用程序”。这不应该是代码的终点,但这是一种启动并运行的简单方法。

是的


只需转到
项目
菜单,选择
添加引用
更改到
浏览
选项卡,找到并选择可执行文件。

在.Net中最终编译的输出称为程序集,在这种情况下,执行文件没有什么不同。只是它们带有一个特殊的头,用程序输入poi将它们标识为可执行文件nts和普通编译的dll程序集没有此功能,但它们都是程序集,您可以在正在处理的任何.net项目中添加程序集作为引用。

您肯定可以以与dll完全相同的方式添加和使用对exe的引用(.net 4)


我认为缺少的程序集消息可能是一种误导,如果您成功地添加了一个引用,并且在尝试使用它时得到了此消息,我总是发现这是由于针对不同版本的框架(通常是默认的客户端配置文件版本).

通常,您可以作为程序集而不是.EXE来执行此操作。选择后者有什么特殊原因吗?是的。我已经用一些方法开发了一个EXE。现在我正在开发一个web应用程序,它需要在EXE中使用一些方法。VS2005允许添加EXE。但我无法访问其中的命名空间、类。a另外还有其他方法吗?嗨,Jon,我已经通过VS2005添加了Add reference。但是在web应用中,名称空间SampleRef是可用的。@Selva TS:当然应该是……如果在代码中添加
使用SampleRef;
语句,会发生什么情况?@Selva:什么确切的编译器错误?如果添加引用t,会看到同样的错误吗o普通类库?嗨,Jon,我在添加引用exe时遇到了这个编译器错误。(实际上添加了引用,但在代码中不可访问)-“找不到类型或命名空间名称'SampleRef'(是否缺少using指令或程序集引用?)@Selva:好的-如果只添加对类库的引用,会发生什么(出于测试目的)?我遇到了相同的问题,在两个项目中选择相同的框架版本(exe和引用exe的版本)解决了我的问题。谢谢!
using System;  
using System.Collections.Generic;  
using System.Text;  

namespace SampleRef  
{  
  public class Program  
  {  
  static void Main(string[] args)  
    {  
    }  
  }  
  public class Sample  
  {    
   public Sample(int count)  
    {

    }

    public string SampleString(int InputValue)
    {
      //Do something
       return "<the result>";
    }
  }  
}