Có cách nào để gỡ lỗi các tệp bản ghi từ ứng dụng studio trực quan 2015 CTP6 asp.net 5 không? Nếu không thì có thể có một cách để cấu hình các tệp bản đồ nguồn, vì vậy khi tôi gỡ lỗi chúng trong trình duyệt và có thể tự động lưu các thay đổi vào tệp .ts của tôi trên máy chủ? Điều này có thể khó, vì các tệp .ts được biên dịch bởi gulp, nhưng có lẽ ai đó đã tìm ra giải pháp tốt cho điều đó?Làm thế nào để gỡ lỗi Typescript trong Visual Studio 2015 asp.net 5?
Trả lời
Gỡ lỗi TypeScript bằng Visual Studio hoạt động với cài đặt phù hợp.
Trước tiên, bạn hãy chắc chắn rằng bạn tạo nguồn bản đồ khi biên dịch typescript để JavaScript. Vì vậy, bạn cần có tệp
xxx.js.map
gần mọixxx.js
.Bắt bản đồ nguồn bằng cách chạy trình biên dịch nguyên cảo bên ngoài của Visual Studio không gây bất kỳ khó khăn, tại tsc dòng lệnh add:
--sourcemap %1.ts
kịch bản ngụm của bạn thường sẽ tạo ra sourcemaps theo mặc định.
Định cấu hình ứng dụng web của bạn trong Visual Studio.
Đặt Internet Explorer làm trình duyệt bắt đầu. Tôi nhận được nó chỉ làm việc với IE và không nghĩ rằng bất kỳ trình duyệt khác sẽ làm việc. (chỉnh sửa: Một nơi nào đó tôi đọc rằng có một cây cầu gỡ lỗi Webkit, vì vậy có thể gỡ lỗi Chrome, nhưng tôi không nhớ nguồn.)
Trong thuộc tính dự án, hãy chuyển đến tab "Web" và định cấu hình Phần "Gỡ rối" ở dưới cùng: Vô hiệu hóa tất cả các trình gỡ rối! Điều này là phản đối intutitive và bạn có thể thấy thông báo lỗi này:
Bạn đã cố gắng khởi động trình gỡ lỗi, nhưng dựa trên cài đặt gỡ lỗi hiện tại của bạn trên trang thuộc tính Web không có quá trình gỡ lỗi.
Điều này xảy ra khi tùy chọn "Không mở trang. Chờ yêu cầu từ một quy trình khác" được chọn và gỡ lỗi ASP.NET bị tắt. Vui lòng kiểm tra cài đặt của bạn trên trang thuộc tính web và thử lại. Khi thông báo lỗi cho biết, Hành động Bắt đầu ở đầu thuộc tính Web phải là một tùy chọn khác, như "Trang hiện tại".
Đặt điểm ngắt trong mã
.ts
bên trong Visual Studio của bạn ngay hoặc sau đó.Hit F5
Trong khi bạn có thể sử dụng Visual Studio Editor để gỡ lỗi và sửa .ts
tác phẩm, "Chỉnh sửa và tiếp tục" sẽ không hoạt động, hiện nay không có trình duyệt có thể tải lại .js
và .js.map
và tiếp tục. (Sửa tôi bất cứ ai nếu tôi sai và tôi sẽ hạnh phúc.)
Không làm việc cho tôi, thật không may. Hoặc chỉ một phần. Khi tôi cố gắng đặt một điểm ngắt trong tệp .ts Visual Studio đặt nó trên cùng một dòng (theo số) trong tệp .js để thay thế. Khi tôi gỡ lỗi, con trỏ gỡ lỗi di chuyển qua tệp js chứ không phải tệp ts. –
@David Tôi đã gặp sự cố khi định cấu hình vấn đề này. Tại một thời điểm tôi đã viết xuống bất kỳ bước nào tôi làm và cuối cùng đã nhận được nó làm việc. Vì vậy, tôi nghĩ rằng tôi xuất bản kết quả ở đây ở trên. Sry nếu nó không làm việc cho bạn. Một vài năm trước đây máy của tôi (mà tôi đã sử dụng nhiều năm với nhiều lượt cài đặt VS) đã có một số công cụ gỡ lỗi được định cấu hình trong sổ đăng ký và chúng đã làm rối lẫn lẫn nhau. Đó là điều duy nhất tôi có thể nói một cách hữu ích. – citykid
Dưới đây là cách gỡ lỗi trong Chrome: http://www.gamefromscratch.com/post/2014/05/27/TypeScript-debugging-in-Visual-Studio-with-IE-Chrome-and-Firefox-using-Source- Maps.aspx –
Cách đơn giản nhất tôi tìm được là đặt tất cả các tệp bản ghi trong thư mục wwwroot/app và để lại các tệp js được tạo bởi studio trực quan.Sử dụng gulp chỉ đơn giản là tiêm chúng vào tập tin html. Trong cuối cùng phát hành Visual Studio 2015 nó hoạt động tuyệt vời và với nhiệm vụ gulp tôi cũng có thể dễ dàng cấu hình js kèm theo cho sản xuất.
nghe có vẻ tuyệt vời nhưng không thể hiểu được một từ nào. – ritesh
Khi bạn đang sử dụng gulp bạn có thể viết các sourcemaps với một thư mục tương đối. Bằng cách này, các tệp TS của bạn được giải quyết một cách chính xác bởi Visual Studio. Tôi sử dụng gulp-typescript và gulp-sourcemaps cho trình biên dịch TypeScript của tôi.
Bên dưới phần soạn thảo tập tin gulpfile.js của tôi (nhớ để vô hiệu hóa việc lập bản sao vào tập tin dự án của bạn)
var tsProject = ts.createProject({
declarationFiles: false,
noExternalResolve: false,
target: 'ES5',
sortOutput: true,
noEmitOnError: false,
sourceMap:true
});
gulp.task('script', function() {
var tsResult = gulp.src('App/Ts/**/*.ts')
.pipe(sourcemaps.init())
.pipe(ts(tsProject));
return tsResult.js.pipe(concat('App.js'))
.pipe(sourcemaps.write('.', {includeContent:false, sourceRoot: '../../App/Ts/'}))
.pipe(gulp.dest('wwwroot/js'));
});
(tôi sửa đổi gulpfile của tôi để có thể đọc, vì vậy kiểm tra bất kỳ biên soạn/mã lỗi)
Trong ASP.NET 5 RC1, bạn có thể hướng dẫn trình biên dịch TypeScript tạo tệp .map bằng cách thêm tệp có tên tsconfig.json vào thư mục gốc của dự án. Visual Studio thậm chí có một mẫu cho điều này được gọi là "File cấu hình JSON TypeScript". Theo mặc định, nó có các nội dung sau:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5"
},
"exclude": [
"node_modules",
"wwwroot"
]
}
Cài đặt "sourceMap" chỉ thị trình biên dịch TypeScript tạo tệp bản đồ cần thiết để gỡ lỗi.
Trong trường hợp của tôi, tôi đã xóa giá trị "wwwroot" khỏi phần "loại trừ" vì tệp nguồn Angular TypeScript của tôi nằm trong wwwroot \ App.
lời giải thích chi tiết về các thiết lập tsconfig.json có thể được tìm thấy ở đây: https://github.com/Microsoft/typescript/wiki/tsconfig.json
xóa giá trị "wwwroot" là giải pháp – AFD
Cách tốt nhất để xử lý các file bản đồ tôi thấy là để bao gồm các nguồn bên trong tạo ra .js
tập tin bản thân. Đây rõ ràng là một giải pháp cho một môi trường dev.
tôi tsconfig.json
dưới đây:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"target": "es5",
"module": "system",
"moduleResolution": "node",
"outDir": "./wwwroot/scripts",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"inlineSourceMap": true,
"inlineSources": true
},
"exclude": [
"node_modules",
"wwwroot"
]
}
Các cài đặt bạn đang theo đuổi là inlineSourceMap
và inlineSources
.
Điều này cũng giúp giải quyết các sự cố bằng cách di chuyển .js
được tạo ra đến các đường dẫn khác nhau và không phải lo lắng về nơi tệp bản đồ sẽ đến.
- 1. Làm thế nào để thiết lập angular-cli với Visual Studio 2015 trong MVC 5?
- 2. Không IntelliSense trong Visual Studio 2015 cho AngularJS TypeScript
- 3. Visual Studio 2015 khóa DLL trong khi gỡ lỗi
- 4. ASP.NET Core - Các vấn đề trong khi gỡ lỗi thông qua Docker trong Visual Studio 2015
- 5. Visual Studio 2015 Asp.net 5.0 Phát triển động không hoạt động ở chế độ gỡ lỗi
- 6. Visual Studio 2015, Resharper đóng băng trên gỡ lỗi UnitTests
- 7. Visual Studio 2015 ASP.NET 5, công việc Gulp không sao chép tệp từ node_modules
- 8. Làm thế nào để rời iisexpress chạy sau khi dừng gỡ lỗi trong Visual Studio 2015 Update 2?
- 9. Làm cách nào để cài đặt phiên bản trình biên dịch TypeScript cho dự án ASP.NET 5 MVC 6 trong Visual Studio 2015 RC?
- 10. Sử dụng Grunt trên ASP.NET MVC 5 Project trong Visual Studio 2015
- 11. visual studio 2015 bower intelliSense Lỗi
- 12. Gỡ lỗi với Visual Studio, URL sai trên ASP.NET MVC
- 13. Gỡ lỗi XAML trong Visual studio 2015. Trường hợp Live Visual Tree và Live Properties
- 14. ASP.net 5 Beta 8 không thể cài đặt trong studio trực quan 2015
- 15. Làm thế nào để thay đổi tìm kiếm lỗi mặc định trong Visual Studio 2015
- 16. Làm thế nào để xem Visual Studio 2015 Bảng điều khiển Javascript sau khi chế độ gỡ lỗi dừng lại?
- 17. Thiết lập TSLint trong Visual Studio 2015
- 18. Visual Studio TypeScript Options
- 19. Làm việc với các tập tin TypeScript, Html & JS trong Visual Studio 2015
- 20. Người dân địa phương còn thiếu trong quá trình gỡ lỗi trong Visual Studio 2015
- 21. Hỗ trợ ASP.NET Core trong Visual Studio 2015?
- 22. lỗi LNK2001 __imp_fprintf Visual Studio 2015 RC
- 23. Làm thế nào để tránh xuất bản các ứng dụng ASP.NET trong chế độ gỡ lỗi từ Visual Studio?
- 24. Visual Studio 2015 - devenv.exe - Lỗi Unknown cứng
- 25. Visual Studio 2015 không trả lời
- 26. Có Visualizer trình gỡ lỗi Visual Studio cho phiên ASP.NET?
- 27. Visual Studio + ASP.NET Core + TypeScript - người biên dịch * .ts?
- 28. Làm thế nào để chạy thử nghiệm NUnit với Visual Studio 2015 CTP 6?
- 29. Visual studio 2015 chờ máy chủ cục bộ sau lần tải đầu tiên để gỡ lỗi
- 30. Làm thế nào để gỡ lỗi một threadpool trong Visual Studio?
có thể trùng lặp của [Gỡ lỗi mã TypeScript với Visual Studio] (http://stackoverflow.com/questions/12711826/debugging-typescript-code-with-visual-studio) – citykid
là sự cố của bạn thực tế là tệp nguồn .ts nằm bên ngoài wwwroot? – Mikeon
http://www.gamefromscratch.com/post/2014/05/27/TypeScript-debugging-in-Visual-Studio-with-IE-Chrome-and-Firefox-using-Source-Maps.aspx –