Одна из причин этой проблемы заключается в том, что зарегистрированный путь к встроенному ресурсу неверен или ресурса там нет. Убедитесь, что файл ресурса добавлен как Embedded Resource .
Asp.net использует WebResourceAttribute , который необходимо указать путь к ресурсу.
Файл ресурса необходимо добавить в проект как встроенный ресурс, а путь к нему будет полным пространством имен плюс имя файла.
Таким образом, у вас есть следующий ресурс проекта "my.js" в проекте "MyAssembly", путь к файлу которого будет "MyAssembly.my.js".
Чтобы проверить, какой файл не находит обработчик веб-ресурса, вы можете расшифровать хеш-код, указанный в URL-адресе WebResource.axd. Пожалуйста, посмотрите пример ниже и как это сделать.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Web;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
byte[] encryptedData = HttpServerUtility.UrlTokenDecode("encoded hash value");
Type machineKeySection = typeof(System.Web.Configuration.MachineKeySection);
Type[] paramTypes = new Type[] { typeof(bool), typeof(byte[]), typeof(byte[]), typeof(int), typeof(int) };
MethodInfo encryptOrDecryptData = machineKeySection.GetMethod("EncryptOrDecryptData", BindingFlags.Static | BindingFlags.NonPublic, null, paramTypes, null);
try
{
byte[] decryptedData = (byte[])encryptOrDecryptData.Invoke(null, new object[] { false, encryptedData, null, 0, encryptedData.Length });
string decrypted = System.Text.Encoding.UTF8.GetString(decryptedData);
decryptedLabel.Text = decrypted;
}
catch (TargetInvocationException)
{
decryptedLabel.Text = "Error decrypting data. Are you running your page on the same server and inside the same application as the web resource URL that was generated?";
}
}
}
}
Пример оригинального кода от Telerik UI для ASP.NET AJAX Team Link: http://blogs.telerik.com/aspnet-ajax/posts/07-03-27/debugging-asp-net-2-0-web-resources-decrypting-the-url-and-getting-the-resource-name.aspx
Это должно вернуть URL-путь, который, по мнению aspt.net, находится на встроенном ресурсе.