מעבר ל-NET 2.0. - שובר את הראש

[eLad]

New member
מעבר ל-NET 2.0. - שובר את הראש

יש לי כמה פרוייקטים שכתובים בגרסה 1.1. התקנתי אתמול vs.net 2005 וגיליתי כמה תקלות ואזהרות בבניית פרוייקט. אני רואה שהם שינו שם המון דברים. לדוגמה: שליחת מייל מתבצעת דרך System.Net.Mail עם המון דברים חדשים. יש דרך לשמור על הקוד הקיים מבלי לשבור את הראש איזה קלאס חדש הולך לאן?
 

[eLad]

New member
../images/Emo41.gif../images/Emo26.gif שאלה נוספת: בניית פרוייקט

פתחתי website חדש דרך ה-vs. קיבלתי תיקיית App_Data וקובץ Default.aspx קימפלתי (ctrl+shift+b) וקיבלתי הודעת שגיאה על Web.Config. הוספתי web.config חדש (לא היה שם קודם) עם הגדרה להצגת Errors. הרצתי את default.aspx בדפדפן על שרת הפיתוח ואני מקבל שגיאה ש
Parser Error Message: Could not load type '_Default'.​
לשגיאות כאלה הייתי רגיל אם לא הייתי בונה את העמוד לפני, אבל בניתי את כל הפרוייקט. באמת אין תיקיית bin ב-website הזה. לאן נעלמו ה-dllים? אם אני לוחץ F5 נפתח חלון IE עם העמוד עובד עם כתובת על localhost בפורט כלשהו. אני עובד בארגון ולכן חשוב שהפרוייקט יפעל גם על שרת הפיתוח. יש פתרון?
 

[eLad]

New member
מסתבר שגרסת ה-FW2 מותקנת לצד

FW1.1 וכנראה זו הסיבה.
 
לא ממש...

אתה רק צריך לדאוג שהפרוייקט מורץ על 2.0 (ב - IIS) כבר כתבתי (חפש בטאגליינס), אין יותר dll (ברוך השם), כל הקבצים תלויים ב - CodeFile שלהם, וה - AppCode זוהי התיקייה של קבצי ה - cs והקלאסים. אין הרבה שינויים, גם הרבה אזהרות הן על html וזה לא רלוונטי, נדמה לי, שהקימפול לא באמת מתבצע, אלא ישירות כשפונים לאתר, ולכן גם אם הקימפול לא עובר, האתר יכול לעבוד (שזו טעות שמיקרוסופט עשו לדעתי). אילו אזהרות נוספות אתה מקבל
 

[eLad]

New member
נכון, אך נראה כאילו ה-1.1 עדיין

מותקנת וזה מה שגורם לבעיה.
Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET Version:1.1.4322.2032​
בתחתית עמוד השגיאה. אנחנו מעדכנים עכשיו ל-FW2 ו-SQL 2005. שאלה - האם הסרה של 1.1 והתקנה של 2.0 אמורה לגרום בעיות לפרוייקטים קיימים?
 
לא, אבל לא צריך להסיר את ה - 1.1

ולא צריך לעבוד עדיין עם ה - SQL 2005, אני אישית הייתי נמנע מלעבוד איתו. אצלי שני הגרסאות מותקנות, זה מוזר.
 
*שני = שתי../images/Emo122.gif

בכל אופן, לך ל - IIS מה - Administrative Tools, ובדוק שהאתר מורץ על 2.0
 

[eLad]

New member
../images/Emo51.gif. בקשר ל-SQL ../images/Emo26.gif

לקוח אחד ביקש SQL 2005 וזה נראה לנו זמן טוב לעבור... ושמתי לב שב-IIS אפשר לבחור את הFW, תודה!
 

arnonrgo

New member
SQL 2005

למה לא - חוץ מDB Mirroring שבאמת נדחה (אגב, בגלל בעיות ביצועים שנתגלו כאן בארץ) הDB הראה גם ביצועים טובים וגם יציבות ואמינות עוד בזמן הבטא ארנון
 
מוצר חדש מדי מכדי לעבור אליו...

עדיין אין מספיק התנסות איתו, ויש שיגידו לחכות ל - SP הראשון שייצא.
 

itzikbs

New member
אין Dll - ים ???

ראשית, זה לא נכון !!! כאשר אתה מפתח אפליקציית 2.0 ASP.NET ורוצה "לפרסם" אותה בקיצור לעבוד בייצור - Publish, Production, Release אזי ה VS נותן לך אפשרות להפוך את כל הפרוייקט ל DLL אחד או (וכך רצוי) "להפוך" כל עמוד - Page/Class ל DLL בפני עצמו ובכך תוכל לנהל את הפרוייקט יותר טוב. לגבי שימוש בספריית AppCode לשים שם מחלקות וקטעי קוד של לוגיקה עסקית או אפילו של UI זה נוגד כל עקרון של כל עקרון עיצובי ותחזוקתי לא הייתי מציע להשתמש בזה אלא, במקרים ממש ממש נקודתיים בהם המחלקות שיהיו שם הינם משהו Util - י כזה ...
 

TTTTIS

New member
תגובה

תנסה לפתור את השגיאה ע"י מחיקה של הדף והוספה של חדש באותו שם. לגבי ה-DLLים, אז נכון הם לא קיימים. קיימת במקומם ספרייה הנקראת App_Code שאפשר לשים בתוכה קוד שיהיה זמין ב-Run-Time. לגבי הפורט שנפתח זו עוד אפשרות שהוסיפו בגרסה 2. ניתן כעת לפתח ללא IIS (מה שקרא FileSystem) וזאת מתאפשר ע"י Web Development Server שהוסיפו. הפורט הוא פורט רנדומלי. אם תפתח פרוייקט Web חדש ותבחר לפתח אותו על ה-IIS (מה שנקרא HTTP), לא תראה את הפורט והאתר ירוץ על ה-IIS (אני גם ממליץ כי זה עובד הרבה יותר מהר).
 
ועוד שאלה, האם פתחת את הפרויקט....

עם VS 2005, או שעשית פרוייקט חדש וצירפת אליו את הקבצים
כי אם אתה פותח את הפרוייקטו שעשית ב - 2003, הוא עושה המרה ל - 2.0, ורוב הבעיות אמורות להפתר (אם לא כולן)
 

[eLad]

New member
הוא לא הצליח להמיר משום מה

פתחתי מחדש את הפרוייקט.
 

[eLad]

New member
../images/Emo41.gif../images/Emo110.gif הרשאות בין פרוייקטים

יש לי solution ובתוכו שני פרוייקטים מקושרים. אחד class library והשני website. ב-class library יש לי קלאס בשם PageBase שיורש מ-System.Web.UI.Page וב-website יש לי aspx שהקלאס שלו יורש מ-PageBase. בבניית הפרוייקט אני מקבל שגיאה:
Error 1 Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. /​
חיפשתי בגוגל, מצאתי לא מעט תוצאות אבל לא ממש תשובה. כנ"ל לגבי פה בפורום. האם צריך לסדר הרשאות בין הפרוייקטים?
 

[eLad]

New member
* הפרוייקט עובד בסדר גמור, אבל יש

עדיין שגיאה בכל בנייה.
 
נסה לצרף את...

ה - Class Library לפרוייקט השני, וראה אם עדיין יש את השגיאה. זה בעיה לפי דעתי שההמרה לא הצליחה... מוזר
 

[eLad]

New member
זה מה שעשיתי

בעזרת add reference. זה קורה רק כשאני יורש ממה שיורש מ-Page, באמת מוזר.
 
השתמשת ב - using../images/Emo35.gif

ודבר שני התכוונתי שתעתיק את הclass גם לפרוייקט השני בכדי לראות אם אכן זו הבעיה.
 

[eLad]

New member
כמובן ../images/Emo41.gif והנה טסט קייס:

כשהקלאס יושב באותו פרוייקט זה עובד. זה קורה רק במצב שבו אני יורש ממחלקה שיורשת מ-Page. טסט קייס: פתחתי פרוייקט (Test) צירפתי לו פרוייקט נוסף (Lib) יש לי Solution עם שניהם. מחלקה בשם PageBase ב-Lib:
using System; namespace Lib { public class PageBase : System.Web.UI.Page { } }​
עמוד Default.aspx ב-Test:
using System; using Lib; public partial class _Default : PageBase { protected void Page_Load(object sender,EventArgs e) { } }​
הוספתי את System.Web ל-Lib. הוספתי עם Add reference את Lib ל-Test. בבנייה, השגיאה:
Error 1 Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. /​
אם אני סתם יוצר קלאס ב-Lib ויורש ממנו, הכל עובד כמו שצריך.
 
למעלה