У меня есть проект C#, который строит с .NET 4.0, который имеет мягкую/косвенную зависимость (через отражение) в проекте, который строит с .NET 4.5.Autobuild проект .NET 4.5, когда я создаю проект .NET 4.0? Его не нужно ссылаться
Я пытаюсь вычислить запись в my40project.csproj
, которая будет строить my45project.csproj
при построении my40project.csproj
. Я хочу, чтобы не, но ссылаться на полученную DLL в проекте 4.0.
я следующая запись в my40project.csproj
:
<ProjectReference Include="$(RootDir)\path\to\project\my45project.csproj">
<Project>{some guid}</Project>
<Name>my45project</Name>
</ProjectReference>
Однако это дает следующее сообщение об ошибке:
"D:\path\to\project\my40project.csproj" (default target) (1) ->
(ResolveAssemblyReferences target) ->
error SCP3000: A non-baseline warning (MSB3274) was encountered: The primary reference "my45project.dll" could not be resolved because it was built against the ".NETFramework,Version=v4.5" framework. This is a higher version than the currently targeted framework ".NETFramework,Version=v4.0".
Кто-нибудь знает, как я мог бы решить эту проблему? Прошу прощения, если это дубликат; вопросы, найденные при поиске, напрямую связаны с использованием библиотеки .NET 4.5 DLL в проекте 4.0, что мне не нужно делать (I только нужно, чтобы он был построен)
Спасибо!
вы не можете этого сделать. –
вообще не ссылайтесь на этот проект, просто скопируйте выходную dll для отражения – Steve
, вы не можете ссылаться на более низкую версию на более высокую версию, но можете сделать наоборот. Поскольку передовая совместимость не поддерживается во многих системах, но обратная совместимость. –