2012-04-20 31 views
12

Tôi đang cố gắng để có được MvcMailer làm việc trong một dự án MVC 4 Beta mới (được tạo ra chỉ để dùng thử), sử dụng phiên bản NuGet mới nhất.Lỗi Giàn giáo với MvcMailer trong MVC 4

tôi nhận được đến bước

PM> Scaffold Mailer UserMailer Chào PasswordReset

Tại thời điểm đó tôi thấy thông báo lỗi:

Không thể giải quyết bí danh 'Scaffold 'vì nó đề cập đến cụm từ ' Invoke-Scaffolder ', không được nhận dạng dưới dạng lệnh ghép ngắn, chức năng, progr có thể hoạt động hoặc tập lệnh. Kiểm lại thời hạn và cố gắng lần nữa. Tại dòng: 1 char: 9 + Scaffold < < < < Mailer UserMailer Chào PasswordReset + CategoryInfo: ObjectNotFound: (Scaffold: String) [], CommandNotFoundException + FullyQualifiedErrorId: AliasNotResolvedException

Cập nhật : Sau khi cài đặt MvcScaffolding (không phải là điều kiện tiên quyết của NuGet ...), thông báo lỗi cho cùng một lệnh sẽ thay đổi thành:

Invoke-Scaffolder: Thông số vị trí không thể tìm thấy rằng chấp nhận đối số 'UserMailer'. Tại dòng: 1 char: 9 + Scaffold < < < < Mailer UserMailer Chào PasswordReset + CategoryInfo: InvalidArgument: (:) [Gọi-Scaffolder], ParameterBindingException + FullyQualifiedErrorId: PositionalParameterNotFound, T4Scaffolding.Cmdlets.InvokeScaffolderCmdlet

Tôi làm cách nào để giải quyết vấn đề này?

+0

Tôi gặp vấn đề này trong MVC 3 cũng như – jao

Trả lời

22

Tôi đã có cùng một vấn đề, để khắc phục nó, tôi đã cập nhật các gói Giàn giáo (T4 trong một dịp, T4 + MVCScaffolding trên một phiên bản khác) và khởi động lại VS.

update-package T4Scaffolding 

và/hoặc

Update-Package MvcScaffolding 

nhớ khởi động lại VS sau đó.

+0

Tôi nhận được thêm sau khi cài đặt MvcScaffolding (nó chưa được cài đặt ... tôi đã bỏ lỡ điều đó trong tài liệu chưa? Chắc chắn không phải là điều kiện tiên quyết của NuGet), nhưng bây giờ gặp lỗi ' Invoke-Scaffolder: Một tham số vị trí không thể tìm thấy chấp nhận đối số 'UserMailer'.' Bất kỳ suy nghĩ nào? –

+0

Đừng bận tâm, tìm thấy sự cố tiếp theo (xem câu trả lời riêng của tôi). –

+0

Tôi sắp giới thiệu bạn với câu trả lời của Eric trước khi nhận ra bạn là cùng một người :) .... Sau khi bình luận của bạn, tôi nhìn lại mã của tôi và nhận ra rằng tôi đã đặt Razor làm giàn giáo mặc định của tôi, đoán tôi quên đề cập đến nó .. Xin lỗi. –

6

Câu trả lời của Segev là chính xác theo như câu hỏi ban đầu.

Nó chỉ ra rằng lệnh giàn giáo cũng thay đổi, gây ra lỗi theo dõi. Lệnh giàn giáo chính xác là:

Thư quảng cáo.Razor UserMailer Chào PasswordReset

Từ

https://github.com/smsohan/MvcMailer/issues/37

3

Tôi có vấn đề tương tự. Lý do là tôi bỏ qua lời nhắc sau đây sau khi nâng cấp T4Scaffolding:

Một phiên bản khác của T4Scaffolding đã chạy trong trường hợp này của Visual Studio Hãy khởi động lại Visual Studio để tránh hành vi không mong muốn. Bạn sẽ không thể sử dụng giàn giáo cho đến khi bạn khởi động lại Visual Studio.

Điều tuyệt đối quan trọng là khởi động lại Visual Studio, sau đó mọi thứ diễn ra suôn sẻ.

3

Tôi gặp sự cố khi cập nhật gói T4Scaffolding. Đó là bởi vì tôi có hai thư mục T4Scaffolding trong thư mục Packages của tôi (T4Scaffolding.1.0.6 & T4Scaffolding.1.0.7). Tôi đổi tên thành 1.0.6 thành _T4Scaffolding1.0.6 và mọi thứ hoạt động tốt sau đó.

3

gì làm việc cho tôi là thế này:

  1. Un-cài đặt MvcMailer.
  2. Un-install MvcScaffoldingT4Scaffolding.
  3. Đặt Dự án mặc định chính xác trong Bảng điều khiển quản lý gói.
  4. Chạy lệnh này từ lệnh Gói cài đặt MvcScaffolding -Phiên bản 1.0.8-vs2013 -Pre như đã đề cập bởi Scott mình here.
  5. Cài đặt MvcMailer thông qua Nuget.
  6. Chạy lệnh này Scaffold Mailer.Razor UserMailer Chào PasswordReset
+4

Đây là cách duy nhất tôi có nó để làm việc trên Windows 8.1 Visual Studio 2013. VÀ Bạn phải chạy VS với tư cách quản trị viên. Như tôi thấy, bạn không thể tắt UAC trong Win 8.1 để tránh "chạy với tư cách quản trị viên". –

+0

Yup, Đây thực sự là cách duy nhất làm việc cho tôi với Windows 8.1 và VS 2013. Cảm ơn bạn rất nhiều vì tôi đã thử với hầu hết mọi khả năng nhưng không có gì hoạt động. – Saroj

0

Tôi cũng gặp lỗi này. "Invoke-Scaffolder: Một tham số vị trí không thể được tìm thấy chấp nhận đối số ..." Đối với tôi chỉ cần đóng VS12 và mở lại cố định nó. Lạ thật.

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