سؤال

أحاول الإشارة إلى ملف js في فئة في ASP.NET وأتلقى هذا الخطأ:

يحتوي التجميع "XXX" على مورد ويب بالاسم "XXX" ولكنه لا يحتوي على مورد مضمن بالاسم "XXX"

أخبرني أثناء البحث في الويب أنه يجب أن أواجه مشكلة في مرجع المسار، لكن لا يمكنني معرفة ما هي.

هنا هو التسلسل الهرمي

<Root>
   <App_Code>
      <Application>
          <MyClass.cs NameSpace="None" />
      </Application>
   </App_Code>
   <JS>
      <MyJSFile.js NameSpace="MyControls" Name="MyJSFile">
   </JS>
</Root>

لذلك في MyClass.cs لدي:

[assembly: WebResource("MyControls.JS.MyJSFile.js", "text/javascript")]

[ClientScriptResource("MyControls.JS.MyJSFile", "MyControls.JS.MyJSFile.js")]
public class MyClass : ExtenderControlBase
{}

لذلك أعتقد أن هناك شيئًا لم أفهمه مع المرجع:(RootNampeSpace).(المسار).(اسم الملف).(الامتداد)

مشروعي عبارة عن موقع ويب ASP.NET، لذا ليس لدي خصائص لـ Build Action لتعيينها في Embedded Resources.

أيضًا في المجلد App_Code أحصل على خطأ إذا قمت بوضع ملف JS الخاص بي قائلًا إن اللغة ليست هي نفس الملف الآخر في App_Code.

هل كانت مفيدة؟

المحلول

كنت تعتقد أن هذا ممكن، ولكن بصراحة لا أستطيع أن أعرف كيف.ربما أفتقد شيئًا بسيطًا حقًا ...

لديك دائمًا خيار آخر، وهو إنشاء مشروع Class Library منفصل، وتضمين مواردك هناك، والإشارة إليه من مشروع موقع الويب الخاص بك.

نصائح أخرى

مشروعي هو موقع ويب ASP.NET لذلك ليس لدي خصائص لبناء الإجراء لتعيين الموارد المضمنة.

أعتقد أن هذه مشكلتك، والتي لا يمكنك حقا تضمين المورد، لأن لا توجد خطوة للبناء. ماذا يحدث إذا تركت سمة التجميع؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top