Có ai biết cách tốt nhất để triển khai tệp tài nguyên vào thư mục App_GlobalResource của ứng dụng web khi tính năng được kích hoạt không?Triển khai tệp tài nguyên vào thư mục App_GlobalResource khi kích hoạt
Trả lời
Vì vậy, như một sự theo dõi cuối cùng cho câu hỏi này ở đây là những gì chúng tôi cuối cùng đã làm để hoàn toàn tự động hóa quá trình này.
Chúng tôi đã làm như đã đề xuất, sử dụng phần tử ApplicationResourceFile trong tệp kê khai.
<?xml version="1.0" encoding="utf-8"?>
<Solution SolutionId="{185E973C-3A10-4e2a-9E0F-DC14414551F9}"
xmlns="http://schemas.microsoft.com/sharepoint/"
DeploymentServerType="WebFrontEnd">
<ApplicationResourceFiles>
<ApplicationResourceFile Location="yourappname.resx"/>
<ApplicationResourceFile Location="yourappname.en-US.resx"/>
</ApplicationResourceFiles> ...
</Solution>
Điều này đã thực tế đưa tệp vào thư mục "tài nguyên". Vì vậy, chúng tôi chỉ cần truy cập các tài nguyên từ đó trong mã như vậy:
string appPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath);
ResourceManager resX = ResourceManager.CreateFileBasedResourceManager("ResourceFileName", appPath + "resources", null);
SPSecurity.RunWithElevatedPrivileges(delegate()
{
AddResource(resX, "DefaultTextBoxLabelText");
Chúng tôi chạy mã này trong hàm tạo và thêm các mục từ tệp tài nguyên vào từ điển địa phương. Bạn phải sử dụng RunWithElevatedPrivileges vì thư mục "tài nguyên" mới được tạo chỉ có thể truy cập được bằng tài khoản AppPool.
Không thể triển khai tệp tài nguyên ứng dụng thông qua tính năng trừ khi bạn thực thi một số mã và bắt đầu công việc hẹn giờ SharePoint sao chép tệp vào thư mục App_GlobalResources trên mỗi máy chủ Web front-end.
Bạn nên thay cho khung giải pháp SharePoint triển khai tệp .RESX vào thư mục App_GlobalResources trên mỗi máy chủ. Bạn có thể chỉ định các file tài nguyên ứng dụng như sau trong file manifest.xml của gói giải pháp WSP của bạn:
<?xml version="1.0" encoding="utf-8"?>
<Solution SolutionId="{185E973C-3A10-4e2a-9E0F-DC14414551F9}"
xmlns="http://schemas.microsoft.com/sharepoint/"
DeploymentServerType="WebFrontEnd">
<ApplicationResourceFiles>
<ApplicationResourceFile Location="yourappname.resx"/>
<ApplicationResourceFile Location="yourappname.en-US.resx"/>
</ApplicationResourceFiles>
...
</Solution>
Khi bạn triển khai các gói giải pháp WSP sử dụng STSADM hoặc Central Administration, khuôn khổ các giải pháp SharePoint sẽ bắt đầu một công việc hẹn giờ mà triển khai các tệp này vào thư mục App_GlobalResources của tất cả các ứng dụng web mà bạn đã quyết định triển khai giải pháp.
Gần đây, chúng tôi đã gặp sự cố tương tự trong quá trình cài đặt trang trại của mình. Thật không may, việc thêm các mục ApplicationResourceFile trong tệp kê khai chỉ nhận tài nguyên của bạn vào thư mục Tài nguyên.
Trong khi bạn có thể tự triển khai các tập tin tài nguyên từ Tài nguyên để App_GlobalResources với stsadm -o copyappbincontent (phải được phát hành trên tất cả các máy chủ kết thúc trước), chúng tôi đã kết thúc việc tạo ra một công việc hẹn giờ để tự sao chép các tập tin, như được nêu here:
Cảm ơn tất cả các câu trả lời của bạn, nhưng là giải pháp tốt nhất cho SharePoint 2010 là sau:
- Add New Item> Module
- Sao chép (hoặc) Thêm file nguồn của bạn có
- Thay đổi " Loại triển khai "thuộc tính của từng tệp tài nguyên để appGlobalResource
- Thay đổi thuộc tính" Vị trí triển khai> Đường dẫn "thành trống để tệp tài nguyên triển khai đúng cách thành" App_GlobalResources "trong ứng dụng web của bạn
Đối với SharePoint 2010 bạn cần phải thay đổi tên nút XML vì vậy nó sẽ sao chép vào thư mục App_GlobalResources mới thay vì thư mục Resource trong C: \ inetpub \ wwwroot \ wss \ VirtualDirectories \ 80 MSDN liên kết: http://msdn.microsoft.com/en-us/library/ms463158.aspx
Ví dụ:
<Solution SolutionId="{8a2f91f2-db85-4eb3-8e7c-330f05246e1a}"
DeploymentServerType="WebFrontEnd"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ApplicationResourceFiles>
<App_GlobalResourceFile Location="yourResourceFile.resx"/>
</ApplicationResourceFiles>
- 1. triển khai các tệp tài nguyên từ xcode
- 2. Sao chép thư mục từ thư mục Tài nguyên iPhone vào thư mục tài liệu
- 3. Cách thêm thư mục tài nguyên bên ngoài vào JBoss7?
- 4. Mã hóa sai sau khi kích hoạt lọc tài nguyên
- 5. Capistrano Multistage triển khai vào đúng thư mục
- 6. iPhone dev: tải tệp từ thư mục tài nguyên
- 7. chứng chỉ được tạo ngừng hoạt động khi được chuyển đến thư mục tài nguyên
- 8. Tài nguyên triển khai tự động
- 9. Triển khai WAR vào thư mục WebApps phù hợp
- 10. Khi nào Eclipse sao chép tài nguyên vào thư mục đầu ra?
- 11. triển khai rsync và quyền đối với tệp/thư mục
- 12. IntelliJ không thấy thư mục tài nguyên
- 13. Danh sách tài nguyên trong thư mục tệp jar?
- 14. Đọc một tệp từ thư mục tài nguyên
- 15. Quyền triển khai và thư mục web
- 16. Cách lấy danh sách thư mục và tệp từ thư mục tài nguyên trong iPhone?
- 17. iPhone: Nhận đường dẫn tệp nằm trong thư mục con của thư mục Tài nguyên
- 18. Triển khaiKhông triển khai tệp
- 19. Làm cách nào để xuất bản/triển khai Dự án MVC bằng Tài nguyên ResX?
- 20. tomcat 5.5 - sự cố khi đọc tệp tài nguyên
- 21. Thư mục xây dựng và tài nguyên Xcode
- 22. Rails tài sản bị thiếu sau khi Capistrano triển khai
- 23. iPhone SDK - Thêm nội dung đã nén vào tài nguyên và sau đó giải nén vào thư mục Tài liệu
- 24. MS Triển khai - triển khai một thư mục đến một trang web
- 25. Thêm các tệp tài nguyên vào xcode
- 26. Triển khai các hội đồng vệ tinh .NET trong thư mục cụ thể
- 27. Cách ghi tệp vào thư mục tài sản hoặc thư mục thô trong android?
- 28. CMake: thêm tài nguyên tùy chỉnh để tạo thư mục
- 29. Triển khai web IIS - tạo thư mục ảo?
- 30. Thêm tập tin vào một lần nhấp khi triển khai
Vì vậy, điều này dường như rất gần nhưng khi tôi sử dụng các yếu tố ApplicationResourceFile nó tạo ra một "tài nguyên" thư mục và đặt các tập tin không có trong thư mục App_GlobalResources . – webwires
Theo http://www.mikhaildikov.com Tệp kê khai giải pháp WSS chứa hai phần tử có tên ngụ ý có liên quan đến việc triển khai tệp RESX. Chúng là và . Thật không may họ không thực sự hữu ích và về cơ bản có thể được bỏ qua. –
webwires
Sigh - đây là một lỗi cũ trong SharePoint mà tôi đã chắc chắn MS cuối cùng đã cố định với bản cập nhật cơ sở hạ tầng. Tôi không thể tin rằng nó vẫn còn đó! Nhưng tôi vẫn sẽ khuyên bạn nên đi cho các giải pháp trên và khởi động một công việc hẹn giờ một lần để sao chép các tập tin từ thư mục tài nguyên để App_GlobalResources –