Я не совсем понял, что вы имеете в виду, но должно быть что-то, что нужно исправить:
static void Main(string[] args)
{
Console.WriteLine(Work());
}
public static void Work(int input)
......
Вы можете видеть, что Work()
- это «Действие», а не «Функция» , Поскольку он ничего не возвращает, поэтому не подходит WriteLine
результат из Work()
Кстати, вы можете видеть, что Work(int input)
нужен вход, который, очевидно, вы не предоставили. Попробуйте это:
static void Main(string[] args)
{
int myInput = int.Parse(Console.ReadLine());
Work(myInput);
}
public static void Work(int input)
{ .....
[Отвечая на мой собственный вопрос]
InheritsFromParent
средства предварительно ожидают. Для проверки этого я сделал эксперимент, который показывает как Пользовательская работа Макросов в Visual Studio 2008. Вот установка:
p.vcproj
включает файл окна свойств d.vsprops
('d' для полученного) использование InheritedPropertySheets
тег.d.vsprops
включает файл окна свойств b.vsprops
('b' для основы.)p.vcproj
также определяет Событие Перед сборкой, которое выводит среду..vsprops
файлы содержат Пользовательские Макроопределения.b.vsprops
...
<UserMacro Name="NOENV" Value="B"/>
<UserMacro Name="OVERRIDE" Value="B" PerformEnvironmentSet="true"/>
<UserMacro Name="PREPEND" Value="B" PerformEnvironmentSet="true"/>
...
d.vsprops
...
<VisualStudioPropertySheet ... InheritedPropertySheets=".\b.vsprops">
<UserMacro Name="ENV" Value="$(NOENV)" PerformEnvironmentSet="true"/>
<UserMacro Name="OVERRIDE" Value="D" PerformEnvironmentSet="true"/>
<UserMacro Name="PREPEND" Value="D" InheritsFromParent="true"
Delimiter="+" PerformEnvironmentSet="true"/>
...
p.vcproj
...
<Configuration ... InheritedPropertySheets=".\d.vsprops">
<Tool Name="VCPreBuildEventTool" CommandLine="set | sort"/>
...
сборка производится
...
ENV=B
OVERRIDE=D
PREPEND=D+B
...
От этих результатов мы можем завершить следующее:
PerformEnvironmentSet="true"
необходимо, чтобы Пользовательские Макросы были определены в среде, используемой для событий сборки. Доказательство: NOENV
не показанный в сборке производится.PerformEnvironmentSet
или InheritsFromParent
. Доказательство: в b.vsprops
, NOENV
не установлен в среде и в d.vsprops
это используется без потребности InheritsFromParent
.OVERRIDE
установлен на D
хотя это было ранее определено как B
.InheritsFromParent="true"
предварительно ожидает новое определение любому предыдущему определению, разделенному указанным Delimiter
. Доказательство: PREPEND
установлен на D+B
(нет D
или B+D
.)Вот некоторые дополнительные ресурсы, которые я нашел для объяснения Visual Studio .vsprops
файлы и связанные темы, это с нескольких лет назад, но это все еще полезно:
понимание системной первой части проекта VC: файлы и инструменты
понимание системной второй части проекта VC: конфигурации и диалоговое окно страниц свойства проекта
понимание системной части III проекта VC: макросы, переменные среды и совместное использование
понимание системной части проекта VC IV: свойства и наследование свойства
понимание системной части V проекта VC: здание, инструменты и зависимости
понимание системной части VI проекта VC: сделанные на заказ шаги и события сборки
понимание системной части VII проекта VC: проекты "make-файла" и (пере-) использование сред
Существует документация относительно версии UI этого здесь. Много XML-файлов кажется несколько недокументированным, часто просто дав файл схемы. Ваше предположение относительно того, как они функционируют, является в значительной степени правильным.