Автообновление общего кода из файла в Project Manager

Tiburon20

Client
Регистрация
14.03.2010
Сообщения
12
Благодарностей
2
Баллы
3
Не работает автообновление общего кода из файла при использовании макросов.
При использовании макроса в пути файла "{-Project.Directory-}\CommonCode.cs", изменения подхватываются только при открытии окна с общим кодом.
При этом, если указать абсолютный путь к файлу, изменения подхватываются автоматически. Считаю такое поведение не логичным и автообновление в Project Manager должно работать всегда.
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 911
Благодарностей
2 658
Баллы
113
Не работает автообновление общего кода из файла при использовании макросов.
При использовании макроса в пути файла "{-Project.Directory-}\CommonCode.cs", изменения подхватываются только при открытии окна с общим кодом.
При этом, если указать абсолютный путь к файлу, изменения подхватываются автоматически. Считаю такое поведение не логичным и автообновление в Project Manager должно работать всегда.
Я указываю так:
Код:
{-Project.Directory-}code.txt
Обновляется постоянно при открытии проекта в PM.

Не знал, что как-то от пути зависит...
 

Tiburon20

Client
Регистрация
14.03.2010
Сообщения
12
Благодарностей
2
Баллы
3
Обновляется постоянно при открытии проекта в PM.
Да, но не обновляется при изменении файла с кодом когда проект уже открыт, правильно? Можете проверить с макросом и потом с абсолютным путём к файлу?
Мои эксперименты показали, что разница есть )
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 938
Благодарностей
1 628
Баллы
113
Думаю, логика та же, что при проблеме с указанием путей с переменными к файлам у таблицы. Не помню, что там, но помню, что работает криво ))) Сам просто давно уже привык всегда через кубик привязывать таблицу к файлу в начале проекта.
Но тут кубика нет, поэтому сложнее )))
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 911
Благодарностей
2 658
Баллы
113
Да, но не обновляется при изменении файла с кодом когда проект уже открыт, правильно? Можете проверить с макросом и потом с абсолютным путём к файлу?
Мои эксперименты показали, что разница есть )
Ваш вариант с слешем:
Код:
{-Project.Directory-}\CommonCode.cs
Мой вариант без слеша:
Код:
{-Project.Directory-}code.txt
Мой точно обновляется всегда при открытии шаблона в PM.
Ваш вариант пробовать не вижу смысла, так как дал вариант который точно у меня работает корректно.
 

Tiburon20

Client
Регистрация
14.03.2010
Сообщения
12
Благодарностей
2
Баллы
3
Мой точно обновляется всегда при открытии шаблона в PM.
Вы не до конца поняли про что речь. Именно при открытии шаблона в PM никаких проблем нет.
Но если я уже открыл шаблон и в это время правлю CommonCode.cs, то изменения из файла не применяются в шаблоне, пока заново не откроешь окно с общим кодом. Но если указан абсолютный путь к файлу, тогда изменения применяются сразу. Не логично, по идее не должно быть никакой разницы.
Например, в CommonCode.cs есть метод
C#:
public static string GetResult()
{
    return "Before change";
}
В кубике получаем результат
C#:
string result = CommonCode.GetResult();
При открытом проекте в PM, параллельно меняем CommonCode.cs в отдельной IDE, например vscode.
C#:
public static string GetResult()
{
    return "After change";
}
Запускаем кубик и получаем результат всё равно "Before change", а ожидаем "After change". Но если путь к файлу абсолютный, то результат будет "After change".
Смысл в том, чтобы использовать IDE и кодинг агенты в CommonCode.cs и быть уверенным, что PM подхватит изменения.
 
  • Спасибо
Реакции: BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 911
Благодарностей
2 658
Баллы
113
Вы не до конца поняли про что речь. Именно при открытии шаблона в PM никаких проблем нет.
Но если я уже открыл шаблон и в это время правлю CommonCode.cs, то изменения из файла не применяются в шаблоне, пока заново не откроешь окно с общим кодом. Но если указан абсолютный путь к файлу, тогда изменения применяются сразу. Не логично, по идее не должно быть никакой разницы.
Например, в CommonCode.cs есть метод
C#:
public static string GetResult()
{
    return "Before change";
}
В кубике получаем результат
C#:
string result = CommonCode.GetResult();
При открытом проекте в PM, параллельно меняем CommonCode.cs в отдельной IDE, например vscode.
C#:
public static string GetResult()
{
    return "After change";
}
Запускаем кубик и получаем результат всё равно "Before change", а ожидаем "After change". Но если путь к файлу абсолютный, то результат будет "After change".
Смысл в том, чтобы использовать IDE и кодинг агенты в CommonCode.cs и быть уверенным, что PM подхватит изменения.
Спасибо за объяснение.
Если одна галочка в зависимости от формата ввода ведет себя по разному - тогда действительно есть ошибка в PM.
 

Кто просматривает тему: (Всего: 2, Пользователи: 1, Гости: 1)