Хорошо, кажется, я понял вашу проблему.
Я создал простое приложение консоли и это событие:
<PreBuildEvent>copy "D:\Program.cs" "D:\Projects\PreBuildFileModification\FileModification\Program.cs" /Y</PreBuildEvent>
И увы, это не работает! (копия происходит и обновляет файл на диске, но Visual Studio не обнаруживает эти изменения и загружает кешированный файл).
Решение заключается в добавлении:
<UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
В конфигурации, например:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
</PropertyGroup>
И теперь это работает как шарм.
Thanks to Rob Butterworth
Откуда Вы знаете, что файлы не были построены? каково ваше указание? –
Можете ли вы предоставить некоторую информацию о том, что именно делает в событии pre build? Я могу заглянуть через несколько часов и попытаться воспроизвести это – DarkWalker
Спасибо очень заблаговременно. я пытаюсь написать время сборки в один из файлов решений. чем при запуске приложения - нажатие на какую-либо кнопку будет извлекать эту информацию. скажите, пожалуйста, если я не был достаточно ясен, и еще раз спасибо. – user2717436