2010-01-26 39 views
7

Tôi có một dự án điều khiển AJAX có tệp .js được định cấu hình làm tài nguyên được nhúng.Tại sao ScriptReference của tôi không tìm thấy Tài nguyên được nhúng?

chính của tôi tham khảo ứng dụng web dự án này, và khi tôi cố gắng để tải lên sự kiểm soát tôi nhận được lỗi này:

Assembly does not contain a Web resource with name 'MyFile.js'.

Đây là triển khai thực hiện của tôi về getScriptReferences:

public IEnumerable GetScriptReferences() 
{ 
    // create reference to the JS 
    ScriptReference jsReference = new ScriptReference(); 
    jsReference.Assembly = "MyNamespace"; 
    jsReference.Name = "MyNamespace.MyFile.js"; 

    return new ScriptReference[] { jsReference }; 
} 

tôi Tôi không hoàn toàn chắc chắn những gì tôi đang mất tích. Tôi đã thử thay đổi tham số Tên thành chỉ là tên tệp, không gian tên và tên tệp, không gian tên, lắp ráp và tên tệp ... và tôi "không có bất kỳ may mắn nào. Bất kỳ đề xuất nào được đánh giá cao.

Trả lời

9

bạn cần phải xác định tài nguyên web trong mã trên assembly có chứa tài nguyên nhúng của bạn, thông thường bạn sẽ làm điều này trong một tập tin AssemblyInfo.vb hoặc .cs

[assembly: System.Web.UI.WebResource(
     "MyNamespace.MyFile.js", 
     "text/javascript", PerformSubstitution = true)] 

Xem this article nếu bạn cần thêm trợ giúp.

+0

Tuyệt vời! Tôi figured rằng Assembly.cs tập tin là tốt cho một cái gì đó. Hóa ra nó đã ở trong đó, nhưng tôi đổi tên tập tin, mà không truyền bá thông qua đây, vì vậy tôi chỉ cần sửa chữa tên và được tốt để đi. – IronicMuffin

2

bạn có chắc chắn thêm một mục nhập cho file Javascript vào AssemblyInfo.cs của bạn một cái gì đó như:?.

[assembly: WebResource("MyNamespace.MyFile.js", "text/javascript")] 

Nếu không, lắp ráp sẽ không cho phép truy cập vào các tài nguyên

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