Ошибка «Повторяющийся идентификатор» при компиляции файлов определения машинописного текста в папку wwwroot

Я создал проект ASP.NET 5, который я использую в основном для внешнего интерфейса машинописного приложения.

Я использую grunt и grunt-ts для компиляции.

У меня есть папка 'src', в которой содержатся все мои машинописные файлы.

grunt-ts компилирует все в папке «src» и объединяет это в один файл js, который затем помещается в папку wwwroot. Также создается файл определения машинописного текста, который помещается в папку wwwroot.

компиляция с grunt/grunt-ts работает безупречно.

Проблема: когда файл определения существует в папке wwwroot, Visual Studio IDE начинает выдавать мне много ошибок «Дублирующийся идентификатор». Это, конечно, из-за файла определения.

Есть ли способ заставить визуальную студию игнорировать папку wwwroot (или любую папку) для компиляции IDE/внутреннего машинописного текста?


person Ivan L    schedule 13.05.2015    source источник
comment
Мне кажется, что stackoverflow.com/q/29557837/195653 может иметь то, что вы ищете.   -  person Matt DeKrey    schedule 13.05.2015
comment
Нет, это совсем другая тема   -  person Ivan L    schedule 13.05.2015
comment
Нет, это одна и та же тема. Просто используйте контроллер для получения содержимого файла ts вместо копирования файлов ts в папку wwwroot.   -  person Joshua Dale    schedule 21.07.2015


Ответы (2)


Вы хотите добавить файл tsconfig.json в корень вашего проекта, который содержит следующее:

{
  "compilerOptions": {
    "noImplicitAny": true,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": false,
    "module": "commonjs",
    "target": "es5"
  },
  "exclude": [
    "bower_components",
    "node_modules",
    "wwwroot"
  ]
}

Файл tsconfig.json отвечает за настройку компиляции TypeScript.

  • compilerOptions - TypeScript to JavaScript compilation options.
    • "noImplicitAny": true - Do not allow implicit any variables. Force them to be explicitly declared.
    • "noEmitOnError": true — остановить обработку при ошибке.
    • "removeComments": false — не удалять комментарии.
    • «sourceMap»: false — не создавать файлы исходной карты (оставьте это плагину gulp).
    • «module»: «commonjs» — использовать общие модули JS.
    • «target»: «es5» — скомпилировать в ECMAScript 5.
  • exclude — исключить папки bower_components, node_modules и wwwroot из сканирования на наличие файлов TypeScript (.ts) или файлов определений TypeScript (.d.ts).
person Muhammad Rehan Saeed    schedule 15.10.2015

Есть ли способ заставить визуальную студию игнорировать папку wwwroot (или любую папку) для компиляции IDE/внутреннего машинописного текста?

Исключите его из своего проекта.

person basarat    schedule 13.05.2015
comment
Я не понимаю, как это возможно в проекте ASP.NET 5, поскольку он соответствует структуре папок, а также, если я исключаю папку wwwroot, удаляя ее или что-то еще, это повлияет на мою способность отлаживать - person Ivan L; 13.05.2015
comment
@basarat В настоящее время это невозможно так просто, как вы говорите, для VS2015: (см. stackoverflow.com/q/30175235/195653< /а>). - person Matt DeKrey; 13.05.2015