2008-11-21 28 views
14

Tôi không thể xây dựng ứng dụng web của tôi (không phải trang web) trong môi trường xây dựng của chúng tôi. Chúng tôi sử dụng DMAKE trong môi trường xây dựng của chúng tôi (không may là không thể thương lượng được, do đó việc sử dụng MSBUILD không được phép) và khi gọi trình bổ sung asp.net quaaspnet_compiler ASPParse không thể tải loại

C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_compiler -d -nologo -p Site -f -fixednames -errorstack -v/Debug

Chúng tôi nhận được lỗi sau

lỗi ASPPARSE: không thể nạp kiểu 'XYAdmin.Site.Global

Nếu tôi biên dịch từ ide nó thành công. Nếu tôi sau đó biên dịch với aspnet_compilier nó là thành công. Vì vậy, tôi chỉ nhận được một biên dịch thành công với aspnet_compiler khi dll mục tiêu tôi đang cố gắng để biên dịch là trong bin của ứng dụng web tôi đang biên soạn.

Tôi tiếp tục chạy vào các bài đăng nói về các giải pháp sử dụng MSBUILD mà đáng tiếc là tôi không thể thử.

Bất kỳ trợ giúp nào sẽ được đánh giá cao

Trả lời

0

Đối với các ứng dụng web, bạn phải xây dựng các tập tin .vb thành một dll và đặt trong thư mục bin trước khi bạn chạy trình biên dịch aspnet. Kiểm tra cửa sổ đầu ra trong studio trực quan và bạn sẽ thấy dòng lệnh cho trình biên dịch VB. Chạy đầu tiên trước khi bạn chạy trình biên dịch aspnet, và các trang asp sẽ có thể tìm thấy các loại bị thiếu.

4

Tôi gặp sự cố tương tự khi sử dụng NANT. Bí quyết là biên dịch các tệp mã ứng dụng web thành một dll, sau đó bao gồm cả khi sử dụng aspnet_compiler.

sử dụng trình biên dịch dòng lệnh, hoặc csc.exe (C#) hoặc vbc.exe (hình ảnh cơ bản), để biên dịch ứng dụng web của bạn với đầu ra của thư viện kiểu. Điều này sẽ tạo ra một dll mà bạn có thể sử dụng trong công việc aspnet_compiler của bạn

+0

Tôi đã bị ấn tượng sai lầm rằng aspnet_compiler cũng đã biên soạn ứng dụng web và tạo dll. (các từ asp và trình biên dịch làm cho tôi nghĩ rằng điều này!) – AndyM

+0

1 cho câu trả lời này, nó làm việc cho tôi là tốt (cảm ơn lòng tốt!). Chúng ta đã làm gì trước khi StackOverflow? :-) – gerrod

+0

@gerrod, tôi đang hẹn hò với bản thân mình và có thể câu hỏi của bạn là hùng biện, nhưng chúng tôi có Google Groups và trước đó chúng tôi có Bảng thông báo và Diễn đàn và UseNet. Thật tuyệt vời, bởi vì không ai được xếp hạng (chủ yếu là áp lực ngang hàng), nhưng đó là vào những ngày tốt lành khi có ít người lập trình hơn. :) Đừng làm cho tôi sai, SO có điểm tốt của nó. – clairestreb

0

Tôi đã nhận được cùng một vấn đề.

Tôi đã sửa lỗi bằng cách sao chép DLL của ứng dụng web từ thư mục OBJ/DEBUG sang thư mục BIN.

13

Chúng tôi đã có cùng một vấn đề trên ứng dụng web của chúng tôi: lỗi ASPPARSE: Không thể nạp kiểu '...'

Vấn đề là chúng tôi đã có các tập tin trên đĩa (vào thư mục dự án) nhưng nó không được bao gồm trong dự án ứng dụng của chúng tôi (trong tệp .csproj). Chúng tôi giải quyết vấn đề bằng cách bao gồm các tập tin trong dự án :)

0

Tôi chỉ có lỗi này và tìm thấy 2 cách để giải quyết nó, hoặc là:

  • Thay đổi thuộc tính codebehind trong file Global.asax để CodeFile và thêm "một phần" để khai báo lớp
  • Trong trang bất động sản dự án triển khai của, thiết lập "bản lắp ráp đầu ra" và cung cấp một số phiên bản

tôi không thực sự biết lý do tại sao một trong hai làm việc, nhưng nó đã làm.

0

giải pháp:

-p Đường dẫn trang web phải có đường dẫn thư mục của vị trí tệp .csproj.

ví dụ: -

aspnet_compiler -p D:\Projects\MGM\mgm\mgm -v/D:\Projects\MGM-deploy\mgm_compiled 
1

Vấn đề này đã được giải quyết cho tôi bằng cách đơn giản xóa tất cả binobj thư mục. Có vẻ như họ đang ở trong tình trạng xấu bằng cách nào đó. Tôi cũng đã xóa tệp .sou nhưng tôi không nghĩ đó là vấn đề.

Các vấn đề liên quan