【发布时间】:2011-10-21 16:20:55
【问题描述】:
我对 .NET 世界很陌生,我有一个小型控制台项目(非常小),它基本上只是引用在 delphi 中创建的 .DLL(大部分重要代码都在其中),在我的 C# 代码中我只有循环、线程睡眠指令和类似的东西。
我的客户正在使用 Microsoft Windows XP SP2、Microsoft XP SP3、Microsoft Windows Vista 和 Microsoft 7。我希望生成能够在所有这些环境中运行的 .EXE。在我的 C# 2010 开发环境中,我有 .NET 框架 4.0,但我猜我客户的一些桌面有框架 3.5 甚至更早的版本。基于这种情况,在新旧版本的 .NET 中创建最便携的 EXE 的最佳选择是什么?
我是初学者,欢迎详细回答。
由于可能是我的简单代码,所以我将其粘贴在这里。
using System;
using System.Reflection;
using System.Threading;
using System.Web;
using System.Diagnostics;
using Redemption;
namespace test{
class Program
{
static void Main(string[] args)
{
RedemptionLoader.DllLocation64Bit = @"redemption64.dll";
RedemptionLoader.DllLocation32Bit = @"redemption.dll";
var ToEmailAddress = args[0];
var subject = args[1];
var pathFileAttach = args[2];
SendMail(ToEmailAddress, subject, pathFileAttach);
}
private static void SendMail(string ToMail,string subject,string filePath)
{
var session = new RDOSession();
try
{
session.Logon();
if (session.LoggedOn)
{
var Drafts = session.GetDefaultFolder(rdoDefaultFolders.olFolderDrafts);
RDOMail msg = Drafts.Items.Add("IPM.Note");
var body = "Test Redemption.";
msg.To = ToMail;
msg.Recipients.ResolveAll();
msg.Subject = subject;
msg.Body = body;
msg.Attachments.Add(filePath);
msg.Save();
msg.Send();
System.Threading.Thread.Sleep(5000);
}
}
finally
{
session.Logoff();
session = null;
}
}
}
}
【问题讨论】:
-
其中一些版本的 Windows 没有默认安装任何版本的框架。