Tag: .net

.Net整个应用程序作为单个.exe文件?

我开发了一些没有数据库的软件。 我想创建一个.Net项目的.exe,所以我只能给用户使用该软件.exe文件。 不幸的是我不知道如何在.Net中创建我的项目的.exe。 有人对这个问题有指导吗?

将Latin 1编码的UTF8转换为Unicode

我试图将以UTF8编码的数据库从它看起来转换成Windows 1251编码(不要问,但我需要这样做)。 数据库中所有俄语编码字符都显示为абвгВÐ。 当我将它们从数据库中拉出到我的C#应用​​程序中,进入字符串时,我仍然看到абвгВÐ。 无论我尝试将此字符串解释为UTF8编码的字符串,它似乎被解释为latin1单字节字符串,并且我没有看到我的文本显示为俄语。 我基本上需要做的是将这个latin1 looking-utf8编码的字符串转换为Unicode,以便我可以将其转换为1251,但我无法成功完成此操作。 有人有任何想法吗?

将ELMAH日志ID传递给ASP.NET中的自定义错误页面时出现问题

我正在使用ELMAH在ASP.NET Webforms应用程序中记录未处理的exception。 记录工作正常。 我想将ELMAH错误日志ID传递给自定义错误页面,该页面将使用户能够通过电子邮件向管理员发送有关错误的信息。 我听从了这个答案的建议。 这是我的global.asax代码: void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args) { Session[StateKeys.ElmahLogId] = args.Entry.Id; // this doesn’t work either: // HttpContext.Current.Items[StateKeys.ElmahLogId] = args.Entry.Id; } 但是,在自定义错误页面上,会话变量引用和HttpContext.Current.Items给了我一个NullReferenceexception。 如何将ID传递给我的自定义错误页面?

从所有网络适配器发送广播消息

我有一个应用程序发送广播消息并侦听响应数据包。 以下是代码段。 m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); m_socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1); m_socket.Bind(new IPEndPoint(IPAddress.Any, 2000)); m_socket.BeginSendTo( buffer, 0, buffer.Length, SocketFlags.None, new IPEndPoint(IPAddress.Broadcast, 2000), Callback), null ); 当我运行应用程序时,没有发送广播消息。 在我的机器上,我有三个网络适配器。 一个是我的本地网络适配器,另外两个是VMWare网络虚拟适配器。 当我运行我的应用程序时,我可以看到(使用wireshark网络捕获)广播消息是从其中一个VMWare网络适配器发送的。 我想修改代码,以便从PC上的所有网络适配器发送广播消息。 最好的方法是什么?

Python for .NET:如何使用同一DLL的不同版本显式创建C#类的实例?

我有一个.cs文件 namespace SomeNamepace { public struct SomeStruct { …. } public static class SomeClass { …. } 到目前为止,我使用它与PythonNET一样 import clr clr.AddReference(‘c:\\Test\Module.dll’) from SomeNamepace import SomeClass, SomeStruct SomeClass.SomeMethod(…) 我现在的问题是我需要使用具有相同名称且没有设置版本号的dll,因此PythonNET不会将它们视为两个不同的dll,而是相同。 即使我使用AddReference的完整路径导入它们。 现在我想明确地使用它们,如下所述: Python for .NET:在多个版本中使用相同的.NET程序集 喜欢 lib = clr.AddReference(‘c:\\Test\Module.dll’) 我尝试了很多东西来创建SomeClass的实例 lib.SomeNamespace.SomeClass() 要么 import System System.Activator.CreateInstance(lib.GetType(‘SomeNamespace.SomeClass’)) 或使用方法Initialize或CreateInstance 或者如下面的链接中所述 from System import Type type1 = lib.GetType(‘SomeNamespace.SomeClass’) constructor1 = type1.GetConstructor(Type.EmptyTypes) […]

获取已安装产品列表c#

要安装/卸载/更新我们的软件,我们的自定义安装程序使用WindowsInstaller.Installer.Products从Windows注册表中获取已安装产品的列表。 在某些客户端计算机上,未知软件可能会在注册表“ HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Installer \ Products ”中添加一个新条目,其名称类似于“ABCD”。 这导致WindowsInstaller.Installer.Products抛出exception。 我可以通过手动将注册表项条目添加到名为“test”的“ HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Installer \ Products ”中来创建此方案。 如果我将测试重命名为新的GUID,那么模拟的问题就会得到解决。 你能建议任何可能的解决方法/解决方案吗? 使用MSIINV.exe工具会很困难,因为这是第三方工具,但这似乎有所帮助。

sqlite抛出“字符串未被识别为有效的日期时间”

我正在玩Sqlite并在尝试回读一些测试数据时不断收到错误。 例如,我创建了一个带有单个表和一些列的简单数据库,并使用一些测试数据填充它,如下所示。 sqlite> .schema CREATE TABLE “shows”(id integer primary key asc autoincrement, showName TEXT, guest TEXT, dateAired date, dateWatched date); sqlite> select * from shows; 6|test show|test guest 1|2012.05.01|2012.07.10 7|test show|test guest 2|2012.05.02|2012.07.10 8|test show|test guest 4|2012.05.04|2012.07.10 我正在使用此处提供的System.Data.Sqlite库,但它在尝试读取日期列时不断给出错误。 我尝试将日期设置为dd-MM-yyyy格式,但仍然会收到错误消息“字符串未被识别为有效的日期时间”。 我已经尝试使用DateTime.Parse或将其转换为datetime或只是ToString()来查看发生了什么,但我一直得到同样的错误。 我可以很好地阅读文本字段,但无法读取日期字段。 我的C#代码剪断如下 var sqliteConn = new SQLiteConnection(“Data Source=data/shows.db;Version=3;New=False;Compress=True”); sqliteConn.Open(); SQLiteCommand cmd = new SQLiteCommand(sqliteConn); cmd.CommandText […]

如何将两个IEnumerables合并(或压缩)?

我有一个IEnumerable和一个IEnumerable我想要合并到IEnumerable<KeyValuePair> ,其中KeyValuePair中连接在一起的元素的索引是相同的。 注意我没有使用IList,所以我没有计算我正在合并的项目或索引。 我怎样才能做到最好? 我更喜欢LINQ的答案,但任何能够以优雅的方式完成工作的东西都会起作用。

订阅后添加可观察序列

我们使用Rx来监控Silverlight应用程序中的活动,以便我们可以在一段时间不活动后向用户显示消息。 我们将事件(鼠标移动等)转换为可观察对象,然后将可观察对象合并在一起以创建单个(allActivity)可观察对象。 然后,我们使用timepan限制allActivity observable,并且当系统处于非活动状态一段时间时,会预订某些通知。 如何在订阅之后为此添加一个新的observable / sequence(以便订阅选择它而不取消订阅和重新订阅)。 例如,将几个序列合并在一起,节流,订阅。 现在为已订阅的observable添加一个额外的序列。 示例代码: private IObservable allActivity; public void CreateActivityObservables(UIElement uiElement) { // Create IObservables of event types we are interested in and project them as DateTimes // These are our observables sequences that can push data to subscribers/ observers // NB: These are like IQueryables in the sense […]

.NET中的DeflateStream 4GB限制

来自MSDN: DeflateStream类 DeflateStream不能用于压缩大于4 GB的文件。 没有4 GB限制的.NET是否还有其他实现? 注意:我真的需要解压缩GZ格式的文件,内容大于4 GB。 任何代码都可以这样做吗?