VB.NET 3.5;مترجم تشكو nullable أنواع (كما في الضعف؟) مع "خطأ BC30037:حرف غير صالح."

StackOverflow https://stackoverflow.com/questions/1235187

سؤال

Visual studio فقط بدأ رمي "error BC30037: Character is not valid."في (حين التحقق من موقع على شبكة الإنترنت) متى يجب استخدام nullable المشغل في أي مكان داخل واحدة من بلدي VB.NET 3.5 المشاريع.هذا حدث لزميل بعض أشهر لكنه لا يتذكر كيف انه ثابت عليه.

على سبيل المثال, إذا قمت بتغيير كل مثيل Double? إلى Nullable(Of Double), ، فإنه يجمع على ما يرام ، واستخدام غيرها من nullables في مشاريع أخرى في نفس الحل مستمرون في العمل على ما يرام.

لقد حاولت تنظيف الحل إغلاق Visual Studio حذف مؤقت ASP.NET الملفات إعادة تشغيل Visual Studio دون جدوى.

أي شيء آخر يمكن أن أحاول ؟

بالإضافة إلى ذلك:

اعتقدت أن أذكر أن مندوب الجملة أيضا الفشل.لدي قطعة من التعليمات البرمجية:

Dim hasSkips As Boolean = payments.Where(Function(p) p.Code = "SKIP").Count > 0
Dim isRegular As Boolean = Not hasSkips

payments هو IList(Of Payment).على Payment كائن له سلسلة خاصية تسمى Code.لا توجد أخطاء التحقق من الصحة أو أي شيء مرئي في Visual Studio الذي يجعل أعتقد أنه لا يعرف ما هذا الخط من التعليمات البرمجية يفعل.التحسس الذكي يعمل على ما يرام, ولكن المترجم له تتناسب مع بناء الجملة.بين الأخطاء التالية تصاحب فوق سطرين من التعليمات البرمجية على التوالي:

error BC30201: Expression expected.
error BC30451: Name 'hasSkips' is not declared.

يبدو تقريبا كما لو Visual Studio لا علم له VB.NET 3.5 الميزات أنه من المفترض أن تعرف عن.

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

المحلول

لقد اكتشفت ذلك.الموقع يحتاج المشروع إلى أن تعليمات إصدار مترجم إلى استخدام حتى بعد اختيار النسخة في صفحات الخصائص.وأضاف هذا الويب الخاص بي.التكوين إصلاح المشكلة:

<system.codedom>
    <compilers>
        <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
            <providerOption name="CompilerVersion" value="v3.5"/>
            <providerOption name="OptionInfer" value="true"/>
            <providerOption name="WarnAsError" value="false"/>
        </compiler>
    </compilers>
</system.codedom>

حسنا, من الجيد أن تعرف أعتقد.

نصائح أخرى

كان لي هذه المشكلة أيضا - ولكن كان سببه الفساد في ملف المشروع - بعض كيف .صفحة aspx كان من المقرر أن تجمع....

وتجميع Aspx الصفحة VB يعني أن فتح '<%@' أحرف غير صالحة...

قد لتفريغ المشروع - العثور على المخالف دخول وحذفها.

لقد الثانية أندرو الإجابة.الضعف ؟ هو C# بناء الجملة لا توجد في VB.VB يستخدم Nullable(مزدوجة).

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