2009-06-23 2 views
7

Tôi nghĩ rằng đây có thể là một câu hỏi tải lắp ráp chung .NET, nhưng trong trường hợp cụ thể của tôi, tôi muốn Tính năng SharePoint của tôi trỏ đến một hội đồng có phiên bản được liên kết với số sửa đổi SVN chính xác.Tính năng SharePoint: Làm cách nào để sử dụng phiên bản lắp ráp ký tự đại diện?

Hội đồng của tôi hiện đã được phiên bản như được đề cập trong this article. Tôi muốn có thể chỉ cần cấu hình các tính năng SharePoint của tôi để sử dụng phiên bản mới nhất của assembly trong GAC.

<Feature Id="7b5d86e8-17dc-4943-8f4e-ad1068daf4f9" 
     Title="My happy feature" 
     Scope="Web" 
     Version="1.0.0.0" 
     Hidden="FALSE" 
     DefaultResourceFile="core" 
     ReceiverAssembly="HappyFeature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d772fbab82fe6896" 
     ReceiverClass="HappyFeature.Receivers.HappyItemEventReceiver" 
     xmlns="http://schemas.microsoft.com/sharepoint/"> 
</Feature> 

Khi tôi thực hiện việc này, SharePoint tất nhiên không thể tìm thấy lắp ráp vì tên mạnh không khớp với phiên bản 1.0.0.0 được mô tả ở đây. Phiên bản hiện tại của tôi trong hội đồng của tôi là 1.0.4479.26553, vì vậy tôi muốn các tính năng của mình có thể tự động tìm các phiên bản lắp ráp được đánh số tương tự. Tôi có thể làm cái này như thế nào?

tôi hơi ngây thơ cố gắng một cái gì đó như thế này:

ReceiverAssembly="HappyFeature, Version=1.0.*, Culture=neutral, PublicKeyToken=d772fbab82fe6896" 

ReceiverAssembly="HappyFeature, Version=1.0.*.*, Culture=neutral, PublicKeyToken=d772fbab82fe6896" 

Nhưng khi tôi cố gắng để triển khai giải pháp của tôi như vậy, nó vẫn có vẻ được tìm kiếm một tập tin với 1.0 .0.0 phiên bản:

Feature '7b5d86e8-17dc-4943-8f4e-ad1068daf4f9'Không thể cài đặt 0 vì tải bộ thu sự kiện "HappyFeature, Version = 1.0. ., Văn hóa = trung tính, PublicKeyToken = d772fbab82fe6896" thất bại: System.IO.FileNotFoundException: thể không tải tập tin hoặc lắp ráp 'HappyFeature, Version = 1.0.0.0, Văn hóa = trung tính, PublicKeyToken = d772fbab82fe6896' hoặc một trong những phụ thuộc của nó hệ thống không thể tìm thấy tập tin chỉ định tập tin tên:.. 'HappyFeature, Version = 1.0.0.0, Văn hóa = trung tính, PublicKeyToken = d772fbab82fe6896'

Cách thích hợp để ép buộc khung làm việc để tải các phiên bản tính năng tăng cường phiên bản của tôi là gì?


EDIT: Vì vậy, trong khi tôi không thực sự giải quyết được câu hỏi cụ thể tôi đã hỏi, đề nghị Ryan giải quyết vấn đề thực tiễn của tôi chỉ có thể gắn thẻ hội tôi với thông tin SVN-liên quan trong khi giữ lại khả năng tải thành công các assembly của tôi trong thế giới SharePoint FeatureReceiver.

Trả lời

8

Điều bạn có thể làm là giữ cho AssemblyVersion giống nhau (ít nhất là trong 'phiên bản chính tương thích') nhưng sử dụng kỹ thuật tương tự để đặt số sửa đổi SVN vào thuộc tính AssemblyFileVersion.

Sau đó, bạn sẽ không phải tiếp tục cập nhật tệp Chính sách dành cho nhà xuất bản.

KB556041 - How to use Assembly Version and Assembly File Version

Giả sử bạn đang xây dựng một khuôn khổ cho việc lắp ráp dự án của bạn được sử dụng bởi nhiều nhà phát triển khi xây dựng các cụm ứng dụng. Nếu bạn phát hành phiên bản mới của lắp ráp rất thường xuyên ... và nếu hội đồng được đặt tên mạnh, Nhà phát triển sẽ phải thay đổi tham chiếu mỗi khi bạn phát hành lắp ráp mới ... Một lựa chọn tốt hơn trong nhóm đóng và kịch bản dễ bay hơi sẽ sửa chữa 'Assembly Version' và chỉ thay đổi 'Assembly File Version'.

SO - What are the differences between AssemblyVersion and AssemblyFileVersion

+0

Cảm ơn ... Tôi nhìn chủ trương nhà xuất bản và nó phô diễn một con gà và quả trứng cho tôi, và tôi dường như vẫn phải biết phiên bản mục tiêu. Tôi cũng đã chỉ chơi xung quanh với AssemblyFileVersion và thực sự mang lại cho tôi những gì tôi cần: chỉ là một cách để gắn thẻ cho hội đồng của tôi với thông tin sửa đổi SVN của tôi. Cảm ơn. –

1

Bạn có thể sử dụng publisher policy để chuyển hướng đến phiên bản mới.