wtorek, 24 listopada 2015

Czytnik odcisków palców w Thinkpadzie przestaje działać w Windows 10

Zauważyłem ostatnio , że czasami zdarza mi się , że czytnik odcisków palców przestaje działać pod Windows 10 i trzeba logować się za pomocą pinu, lub o zgrozo wpisywania hasła.  Sprawdziłem w menadżerze urządzeń i okazało, się że czytnik jest w w węźle urządzenia biometryczne, tylko, że system raportuje,  że urządzenie jest wyłączone. Lekarstwem na to jest wejście do BIOSu przy starcie i przywrócenie ustawień domyślnych

piątek, 23 października 2015

Działające intelisense dla Razor w projekcie class library

Jeżeli zachodzi potrzeba żeby w naszej aplikacji chcemy mieć razorowe widoki, standardowa konfiguracja nie daje nam intelisense. Powoduje to, że czas stworzenia widoku znacznie się wydłuża, bo visual krzyczy nam błędami co chwilę i podkreśla wszystko na czerwono. Jest jednej sposób który pozwala załatwić sprawę. Do naszego class library trzeba naturalnie dodać refrencję do System.Web.MVC 5, a następnie dodać prowizoryczny Web.config o następującej treści :

<xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroupSystem.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSectionSystem.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSectionSystem.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
  </appSettings>

  <system.web>
    <compilation debug="true" targetFramework="4.5" />
  </system.web
  
  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactorySystem.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization"/>
        <add namespace="System.Web.Routing" />
        
        
      </namespaces>
    </pages>
  </system.web.webPages.razor>
</configuration>
We właściwościach projektu w zakładce build ustawiamy katalog wyjściowy na bin zamiast bin\debug. Zamykamy wszystkie otwarte pliki buildujemy solucję, otwieramy plik cshtml i bang!:) wszystko działa


poniedziałek, 28 września 2015

LINQ to Entities does not recognize the method Last() method, and this method cannot be translated into a store expression.

Ten błąd jest konsekwencją architektury providera SQL Server dla linq to entities, który całe zapytanie konwertuje na SQL. W SQL nie ma polecenia last a jedynie za pomocą Polecenia SELECT TOP X można uzyskać pierwszych X wierszy. Prostym rozwiązaniem jest zamiana wywołania Last() na OrderByDescending(x => x.ID).First();

wtorek, 1 września 2015

Zmora programisty - niedziałający Windows Search w Windows 10

Jeżeli zdarzy się wam że nie można znaleźć programu przez wyszukiwanie w 10 , pozostaje prawdziwy dramat klikanie w menu start i odnalezienie programu ręcznie. Jeżeli chcemy szybko coś odpalić i jesteśmy w czasie sesji debugowania to ten błąd potrafi bardzo zaburzyć flow :)  Podaję prostą receptę na tą dolegliwość :

  1. Zamknij Explorer.exe przy użyciu menadżera zadań
  2. Usuń ten klucz rejestru
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ FolderTypes{ef87b4cb-f2ce-4785-8658-4ca6c63e38c6}\TopViews{00000000-0000-0000-0000-000000000000}

  1. Uruchom Explorer.exe ponownie

dzięki ci superuser.com !

niedziela, 22 grudnia 2013

TimeDoctor i jego skróty klawiszowe

Jeżeli używacie oprogramowania Time Doctor do monitorowania czasu spędzonego na programowaniu warto zajrzeć na ustawienia skrótów klawiszowych :


Widać tutaj że do kontynuowania ostatniego zadania został przypisany skrót klawiszowy Ctrl+X , co domyślnie blokuje w Visual Studio i innych programach za opcję wytnij . Taki mały trolling ze strony twórców Time Doctora :) 

wtorek, 26 listopada 2013

Jedyny i niezawodny sposób na otrzymanie bieżącego katalogu

Niedawno w projekcie pisałem małą apkę która wykonywała pewne działanie, które muszą być uruchamiane cyklicznie. W celu uzyskania dostępu do katalogu aplikacji użyłem zmiennej
 System.Environment.CurrentDirectory  .
Wszystko działało podczas debugowania. Jakies było moje zdziwienie, gdy okazało się, że zmienna ta wskazuje na katalog C:\Windows\System32\  podczas uruchamiania procesu przez Task Scheluder, zamiast katalogu aplikacji. Po długich lecz owocnych :) poszukiwaniach udało mi się znaleźć rozwiązanie. Pewnym i niezawodnym sposobem na uzyskanie katalogu w którym znajduje się aplikacja jest :
 System.IO.Path.GetDirectoryName(System.Reflection.Assembly._ GetExecutingAssembly().Location) 
.