14. июня 2013 11:07
/
Kos
/
.NET . C#
Комментарии (0)
Внезапно, если подключить библиотеку Microsoft.VisualBasic
То тогда можно получить нормальный доступ к счетчиками памяти
var mem1 = new Microsoft.VisualBasic.Devices.ComputerInfo().AvailablePhysicalMemory;
var mem2 = new Microsoft.VisualBasic.Devices.ComputerInfo().AvailableVirtualMemory;
var mem3 = new Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory;
var mem4 = new Microsoft.VisualBasic.Devices.ComputerInfo().TotalVirtualMemory;
а также узнать о языковых параметрах и версии OS
dabd8fa2-d492-4850-a82a-c7b44c5c5ae0|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
12. июня 2013 20:44
/
Kos
/
.NET . C#
Комментарии (0)
using (var md5 = MD5.Create())
{
using (var stream = File.OpenRead(filename))
{
return md5.ComputeHash(stream);
}
}
http://stackoverflow.com/questions/10520048/calculate-md5-checksum-for-a-file
f41edb2d-506d-46c6-86f2-0943b10c8711|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
12. июня 2013 14:43
/
Kos
/
.NET . C#
Комментарии (0)
WindowsIdentity id = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(id);
bool isRunAsAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);
// Если нет прав админа
if (!isRunAsAdmin)
{
ProcessStartInfo proc = new ProcessStartInfo();
proc.UseShellExecute = true;
proc.WorkingDirectory = Environment.CurrentDirectory;
proc.FileName = System.Windows.Forms.Application.ExecutablePath;
proc.Verb = "runas";
proc.Arguments = string.Empty;
try
{
Process.Start(proc);
}
catch
{
}
Application.Current.Shutdown(); // Выходим
}
032deade-ec0b-4e67-83f2-513e25c8ea64|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
12. июня 2013 13:30
/
Kos
/
.NET . C#
Комментарии (0)
var ps1 = System.Diagnostics.Process.GetProcessesByName("Process Name").ToList();
if (ps1.Count > 1)
{
foreach (Process p1 in ps1)
{
if (p1.Id != System.Diagnostics.Process.GetCurrentProcess().Id)
{
p1.Kill();
}
}
}
2cbd8d1a-928d-4749-912e-265ef517eefd|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
11. июня 2013 20:12
/
Kos
/
.NET . C#
Комментарии (0)
Process myProcess = new Process();
myProcess.StartInfo.FileName = "someApp.exe";
myProcess.Start();
aee6f029-2bb7-4159-80b4-b78f966ef11c|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Ошибка:
Error 1 The "EnsureBindingRedirects" task failed unexpectedly.
System.NullReferenceException: Object reference not set to an instance of an object.
at Roxel.BuildTasks.EnsureBindingRedirects.MergeBindingRedirectsFromElements(IEnumerable`1 dependentAssemblies)
at Roxel.BuildTasks.EnsureBindingRedirects.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()
Лечиться просто, нужно в web.config в <dependentAssembly> добавить атрибут culture="neutral" к сборкам
Чтобы получилось вот так:
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
b761e7e2-51ec-4731-a39f-9fbb938f68f4|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
14. мая 2013 11:33
/
Kos
/
.NET . C# . WPF
Комментарии (0)
Разметка Grid из кода
Установка фиксированного размера:
TableGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new System.Windows.GridLength(50) });
TableGrid.RowDefinitions.Add(new RowDefinition() { Height = new System.Windows.GridLength(50) });
Установа отностиельного размера, типа вездочка (*) или Auto:
LayoutRoot.ColumnDefinitions[1] = new ColumnDefinition() { Width = new System.Windows.GridLength(2, System.Windows.GridUnitType.Star) };
LayoutRoot.RowDefinitions[1] = new RowDefinition() { Height = new System.Windows.GridLength(2, System.Windows.GridUnitType.Auto) };
Помещение элемента в сетку:
TextBox txtbox = new TextBox();
Grid.SetRow(txtbox, 2);
Grid.SetColumn(txtbox, 3);
Grid.SetColumnSpan(txtbox, 2);
Grid.SetRowSpan(txtbox, 3);
TableGrid.Children.Add(txtbox); // добавляем элемент в грид
6652ba85-bd93-4ece-a174-9df0266bdb98|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04