Я обновляю наши решения с VS 2005 до VS 2008; все еще ориентируясь на .net 2.0. Мастер преобразования прост, и у меня никогда не было ошибки преобразования. Единственный недостаток, который у меня был до сих пор, это то, что я не могу сразу скомпилировать после обновления, потому что VS изменил некоторые из моих пространств имен, вызывая конфликты имен.
Например, у меня есть проект DAL (назовем его MyNameSpace), в котором есть папка «Клиенты» с набором данных с именем «dsClient».
Вот как выглядит класс конструктора набора данных перед преобразованием:
namespace MyNameSpace
{
public partial class dsClient : global::System.Data.DataSet
{
}
}
В процессе преобразования VS изменяет мой класс конструктора и добавляет имя папки в конец пространства имен, так что теперь это выглядит так:
namespace MyNameSpace.Clients
{
public partial class dsClient : global::System.Data.DataSet
{
}
}
Проблема в том, что в этой папке есть другой файл класса с таким же именем:
namespace MyNameSpace
{
public class Clients
{
}
}
Это вызывает конфликт имен, и мне приходится вручную исправлять изменения, сделанные VS. В некоторых случаях VS изменяет имя пространства имен на имя набора данных, а не на имя папки.
Это конфигурация в мастере преобразования? Я бы хотел, чтобы мастер просто обновил файлы проекта и оставил код в покое.