2011-05-26 37 views
6

Tôi đang phát triển một ứng dụng dựa trên plugin sử dụng MEF và Asp.NET MVC 3 và tôi muốn tạo mẫu dự án tùy chỉnh để cung cấp cho nhà phát triển bên thứ ba khi tạo plugin mới cho ứng dụng.Làm thế nào để thêm một mẫu dự án tùy chỉnh trong hộp thoại dự án Asp.Net MVC 3 mới?

Tôi có thể dễ dàng xuất dưới dạng mẫu dự án nhưng vì máy chủ được phát triển trong ASP.NET MVC 3, Có vẻ hợp lý hơn khi nằm trong hộp thoại dự án Asp.Net MVC 3 mới.

enter image description here

Bất kỳ ý tưởng nào?

Trả lời

3

Sau khi một số digging và 'phản ánh', tôi nhận được một mẫu để hiển thị thành công lên trong hộp thoại. Hầu hết tín dụng được gửi đến bài đăng này: Add custom viewengine to New project dialog?

Chìa khóa để làm cho nó hoạt động trên máy tính của tôi (64bit) là đường dẫn đăng ký được đề cập trong câu trả lời trong bài đăng đó. Tôi cũng tìm thấy thông qua Reflector có một phím SupportsHTML5 quá, nếu bạn cần điều đó.

Đây là một ảnh chụp màn hình của mẫu của tôi: enter image description here

và đây là chìa khóa registry (đó cũng là một tiêu đề và mô tả tại nút MyOwnTemplate)

enter image description here

+0

đó là một câu trả lời tuyệt vời! Nó rất đơn giản khi bạn tìm thấy nó :) – Beno

+0

Thnx Jason. Đây chính là điều tôi muốn. Bây giờ điều duy nhất còn lại để được thực hiện là bằng cách nào đó tự động hóa quá trình này: sửa đổi các khóa registry và copy .zip (template) vào thư mục Project Templates. –

+0

Đừng quên rằng bạn sẽ cần chạy devenv.exe/setup để lấy các mẫu của bạn vào Bộ đệm mẫu dự án của VS. –

2

Nếu bạn nhìn lên thư mục mẫu của bạn cho Visual Studio, và kiểm tra các mẫu:

MvcWebApplicationProjectTemplatev3.0.cs.zip

(VS Install dir) \ Common7 \ IDE \ ProjectTemplates \ CSharp \ Web \ 1033

Những điều cần nhìn vào đây là dòng này:

<WizardExtension> 
    <Assembly>Microsoft.VisualStudio.Web.Mvc.3.0, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</Assembly> 
    <FullClassName>Microsoft.VisualStudio.Web.Mvc.UserInterface.MvcTemplateWizard</FullClassName> 
</WizardExtension> 

Vì vậy, họ đã có một thuật sĩ tùy chỉnh làm việc ở đây. những câu hỏi tìm được tương tự:
Blank Asp.net MVC template
How to write an MVC3 Project Template that will offer option Razor or .aspx views

Về cơ bản, họ nói wizard không phải là mã nguồn mở nhưng bạn có khả năng có thể viết thuật sĩ tùy chỉnh của riêng bạn.

EDIT:
dưới đây là một vài trang cho bạn biết làm thế nào để tạo ra thuật sĩ của riêng bạn:
http://msdn.microsoft.com/en-us/library/ms185301.aspx
http://www.codeproject.com/KB/system/create_VS_wizard.aspx

+1

Nếu bạn sử dụng Reflector, bạn có thể muốn kiểm tra các phương pháp: Mã: //Microsoft.VisualStudio.Web.Mvc.3.01: 3.1.0.0: 31bf3856ad364e35/Microsoft.VisualStudio.Web.Mvc. UserInterface.ProjectTemplates/LoadProjectTemplate (Microsoft.Win32.RegistryKey, String, String): Microsoft.VisualStudio.Web.Mvc.UserInterface.ProjectTemplate –

+0

và mã: //Microsoft.VisualStudio.Web.Mvc.3.01: 3.1.0.0: 31bf3856ad364e35/Microsoft.VisualStudio.Web.Mvc.UserInterface.ProjectTemplates/LoadProjectTemplates (Hệ thống.IServiceProvider, String, System.Collections.Generic.Dictionary ): System.Collections.Generic.Dictionary

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