я получаю чувство, что по крайней мере необходимо смочь сделать это от терминала.
Да, это довольно легко сделать путем рассмотрения меток времени в /var/lib/dpkg/info/
. Например,
ls -lct /var/lib/dpkg/info |egrep -o "May.*\." | cut -d. -f1 | uniq | more
-lct
виды ctime, "май" является током (или недавний) месяц, который Вы ищете, cut
просто удаляет раздражающий период в конце, и uniq
удаляет дубликаты. Это дает Вам что-то как:
... May 11 18:03 libcogl-pango0:amd64 May 11 18:03 libcogl9:amd64 May 11 18:03 libcaribou0:amd64 May 11 18:03 libcaribou-common May 11 03:35 libcpufreq0 May 11 03:35 cpufrequtils ...
предположим Вы хотите обработать в пакетном режиме - удаляют все пакеты, установленные 11 мая в 18:03, Вы сделали бы что-то вроде этого:
apt-get remove `ls -lct /var/lib/dpkg/info | egrep -o "May.*18:03.*\." | cut -d. -f1 | uniq | cut -d' ' -f4 | tr '\n' ' '`
то, где 2-е cut
просто выбирает имена пакета и tr
, преобразовывает разрывы строки в пробелы, чтобы дать Вам список, подходящий для apt-get
.
Выберите проект в обозревателе решений и откройте окно инструментов «Свойства» ( F4 в стандартной раскладке клавиатуры или «Просмотр»> «Окно свойств» после выбора проекта). В разделе ReSharper есть свойство Language Level, для которого можно установить значение C # 2.0. Обратите внимание, что есть два отдельных окна свойств проекта, которые управляют разными свойствами. Если вы видите вкладки «Приложение», «Сборка» и «Отладка», вы находитесь в неправильном окне.
Как говорили другие, это влияет на версию C # , а не версия платформы (поскольку большинство изменений C # 3.0 могут быть скомпилированы в сборку, предназначенную для .NET 2.0).
Эти функции являются не функциями платформы .NET 3.5, а просто функциями компилятора 3.5. И поскольку в VS2008 это компилятор, вызываемый для целей .NET 2, он правильно обрабатывает эти расширения синтаксиса.