在.NET 2.0 C#应用程序中,我使用以下代码来检测操作系统平台:
string os_platform = System.Environment.OSVersion.Platform.ToString();
Run Code Online (Sandbox Code Playgroud)
这将返回"Win32NT".问题是,即使在Windows Vista 64位上运行,它也会返回"Win32NT".
有没有其他方法可以知道正确的平台(32或64位)?
请注意,在Windows 64位上作为32位应用程序运行时,它还应检测64位.
我必须计算SQL Server 2008中两个日期之间的小时数(十进制类型).
在MSDN上使用'CONVERT'将datetime转换为十进制时,我找不到任何有用的技术.
任何人都可以帮助我吗?
更新:
要清楚,我也需要小数部分(因此十进制类型).所以从9点到10点30分它应该还给我1.5.
我有一个批处理文件,它位于目录中,也必须从那里运行,因为它更新了该目录中的文件.
除非用户以管理员身份运行批处理文件(Vista上需要),否则此工作完全正常.然后起始目录是C:\ Windows\System32.
有没有办法仍然能够知道批处理文件从哪个目录运行?
我不希望用户手动输入目录.
我在一个Visual Studio(2008)解决方案中有多个项目.
我刚刚发现每个项目都使用相同的GUID,因此在解决方案文件中它看起来像这样:
Project("{FAE04EC0-F103-D311-BF4B-00C04FCBFE97}") = "Pro1", "Pro1\Pro1.csproj", "{...}"
Project("{FAE04EC0-F103-D311-BF4B-00C04FCBFE97}") = "Pro2", "Pro2\Pro2.csproj", "{...}"
Run Code Online (Sandbox Code Playgroud)
我是否必须更改这些GUID,以便它们是唯一的以及它们用于什么?
您可以使用以下命令获取文件版本:
FileVersionInfo versionInfo = FileVersionInfo.GetVersionInfo("filename.exe");
Run Code Online (Sandbox Code Playgroud)
但是如何获得特定EXE文件的汇编版本?
如何使用.net 2.0将字节数组格式的BITMAP转换为JPEG格式?
我必须限制我的.net 4 WPF应用程序,以便每台计算机只能运行一次.请注意,我说每台机器,而不是每个会话.
到目前为止,我使用简单的互斥锁实现了单实例应用程序,但不幸的是,这样的互斥锁是每个会话.
有没有办法创建一个机器范围的互斥锁,还是有任何其他解决方案来实现每个机器应用程序的单个实例?
我需要生成一个SQL插入脚本来将数据从一个SQL Server复制到另一个SQL Server.因此,使用.net,我正在读取给定SQL Server表的数据并将其写入新的文本文件,然后可以执行该文件以便将此数据插入到其他数据库中.
其中一列是VARBINARY(MAX).
我应该如何将获得的byte []转换为脚本的文本,以便它仍然可以插入到其他数据库中?
SSMS将此数据显示为十六进制字符串.这是使用的格式吗?我可以使用以下相同的格式
BitConverter.ToString(<MyByteArray>).Replace("-", "")
Run Code Online (Sandbox Code Playgroud)
但是如何重新插入呢?
我试过了
CONVERT(VARBINARY(MAX), "0xMyHexString")
Run Code Online (Sandbox Code Playgroud)
这会进行插入,但该值与源表中的值不同.
c# ×6
.net ×4
mutex ×2
sql-server ×2
t-sql ×2
windows ×2
.net-2.0 ×1
64-bit ×1
ado.net ×1
batch-file ×1
bmp ×1
concurrency ×1
datetime ×1
decimal ×1
directory ×1
guid ×1
insert ×1
jpeg ×1
localization ×1
namespaces ×1
uac ×1
uuid ×1
varbinary ×1
xml ×1