Вот как это сделать с TypScript 2.0: (tsd и typings устарели в пользу следующего):
$ npm install --save lodash
# This is the new bit here:
$ npm install --save-dev @types/lodash
Затем в вашем файле .ts:
Либо:
import * as _ from "lodash";
Или (как предложено @Naitik):
import _ from "lodash";
Я не уверен, в чем разница. Мы используем и предпочитаем первый синтаксис. Однако некоторые сообщают, что первый синтаксис для них не работает, а кто-то еще прокомментировал, что последний синтаксис несовместим с ленивыми загруженными модулями webpack. YMMV.
Редактировать 27 февраля 2017 года:
В соответствии с @Koert ниже import * as _ from "lodash";
является единственным рабочим синтаксисом, указанным в машинописном тексте 2.2.1, lodash 4.17.4 и @ types / lodash 4.14.53. Он говорит, что другой предложенный синтаксис импорта дает ошибку «не имеет экспорта по умолчанию».
Расширение ответа Джоша.
Сборки в .Net загружаются по запросу CLR. Обычно загрузка сборки не предпринимается до тех пор, пока метод JIT не будет использовать тип из этой сборки.
Если вы не можете отловить сбой загрузки сборки с помощью блока try / catch в основном методе, скорее всего, это связано с тем, что вы используете тип из сборки в try / catch. Таким образом, исключение возникает до фактического запуска основного метода.
Попробуйте поместить весь код из основного метода в другую функцию. Затем вызовите эту функцию в блоке try / catch, и вы должны увидеть исключение.
Поскольку Приложение форм поместило попытку/выгоду в Program.cs. (Подробно останавливающийся на ответе JaredPat).
Как это:
[STAThread]
static void Main()
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
throw;
}
}
Это поймает любые недостающие исключения DLL из Вашего приложения. И они будут выглядеть подобными этому:
не Мог загрузить файл или блок 'TheGreatestDLLEver. Дань, Version=0.0.0.2, Culture=neutral, PublicKeyToken=jamtoastbutter' или одна из его зависимостей. Система не может найти файл определенным.
Вы можете использовать AppDomain.CurrentDomain.AssemblyResolve + = new ResolveEventHandler (CurrentDomain_AssemblyResolve);
Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
}
Для поиска сборки вручную, если не удается найти ее автоматически.