-
Notifications
You must be signed in to change notification settings - Fork 932
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NH-3990 - Upgrade to VS2017 project structure #605
Conversation
bb37ad0
to
d38b027
Compare
Doesn't seem to be buildable on a build agent without installing full VS |
The error in TeamCity does not let me think it needs a full VS. That looks like Antlr3 build is trying to use an old MsBuild dependency, and can no more find it when launched by the newest tools.
It seems to fail because it has a dependency on the old |
There are a few issues:
There is another workaround - to copy the Sdk folder from VS to BuildTools, but I don't want to do it. So yes, it's not buildable in the current state without full VS |
I have found this which looks related. If this is the root of our failure, we then have either to wait for the dotnet sdk to get fixed, or upgrade all build tasks for using newer msbuild, or avoid having parts to build with older msbuild. I am not sure but I believe the only option we can do ourselves is the last, by reverting 9292e6e by example. |
I've filed a bug: antlr/antlrcs#71 |
af8e784
to
13bcd26
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Getting from Package Manager output on solution opening:
Error occurred while restoring NuGet packages: The operation failed as details for project NHibernate.TestDatabaseSetup could not be loaded.
Error occurred while restoring NuGet packages: The operation failed as details for project NHibernate.TestDatabaseSetup could not be loaded.
Restoring NuGet packages...
Time Elapsed: 00:00:02.3618731
========== Finished ==========
I have not found a reason for this. Some bugs in VS was reported with that error but they are supposed to be fixed in latest updates, which I have.
It does not prevent compiling from within VS.
The bat build menu is broken:
- Option D is unable to find
TestDatabaseSetup
, it has moved to a net461 subfolder. - Option E, F, G & I fail building.
Error log removed, see Alexander answer for fix.
It seems that switching back to another branch requires to close VS, purge obj
folders, then reopen the solution. Otherwise it fails compiling and VS still display the dependencies as if the project were migrated to new csproj format.
<ItemGroup> | ||
<Reference Include="FirebirdSql.Data.FirebirdClient"> | ||
<HintPath>..\..\lib\teamcity\firebird\FirebirdSql.Data.FirebirdClient.dll</HintPath> | ||
</Reference> | ||
<Reference Include="Mono.Security"> | ||
<HintPath>..\..\lib\teamcity\postgresql\Mono.Security.dll</HintPath> | ||
</Reference> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strange addition, and missing file. Maybe a remnant from older Npgsql, no more needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, probably a rebate glitch
Yes, it requires either a clean checkout or purge of |
Probably because of Mono.Security |
E, F, G & I builds fixed by the Core preview. (I have still the non preview VS2017.) The Nuget difficulties for TestDatabaseSetup remains. Trying to build anything while Nuget struggles with TestDatabasSetup just fails, whatever the project. So it is a bit annoying, but well, not blocking either. D still fails, if projects bin directories were cleaned before rebuilding with the new project format. (Otherwise it uses obsolete binaries from compilation with older project format.) 2.0 release is slated for Q3, so we will have to wait up to two months for the official release. Do you want to merge a dependency on a preview in master, or to wait for it to be released? The new project format seems detrimental for VS load time of the solution. But without working with it and many branches, I cannot say if it will really be an annoyance. (And I still have R# enabled, which has also quite an impact on solution loading time.) |
I did not realize that it requires to have binaries built by VS to run tests. Weird.
I want to merge, don't mind being dependent on preview. It's just a dev dependency, so does not matter much. |
I've fixed "D" menu to the state as it was before this PR. It requires to have Tools folder packages restored & binaries being built by VS. I think we shall tackle this in a separate PR. |
I was aware of this, and am using it for globally testing the last build I have done in VS. I was thinking this was made this way on purpose.
Ok; Contributing.md should probably be updated for mentioning the build dependency on Core 2.0 (Preview or not indeed). |
NHibernate.nunit
Outdated
<assembly path="src\NHibernate.Test.VisualBasic\bin\Debug\NHibernate.Test.VisualBasic.dll" /> | ||
<assembly path="src\NHibernate.TestDatabaseSetup\bin\Debug\net461\NHibernate.TestDatabaseSetup.dll" /> | ||
<assembly path="src\NHibernate.Test\bin\Debug\net461\NHibernate.Test.dll" /> | ||
<assembly path="src\NHibernate.Test.VisualBasic\bin\Debug\net461\NHibernate.Test.VisualBasic.dll" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
VB has not moved. It is still in NHibernate.Test.VisualBasic\bin\Debug\NHibernate.Test.VisualBasic.dll
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True. VB has not been migrated to VS2017 format as it is supported only in VS2017.3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was not knowing it would be supported for VB soon. I was not finding any info about vb support case, so was not expecting it at all.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is, I saw somewhere on SO, but could not find the link now.
NHibernate.nunit
Outdated
<assembly path="src\NHibernate.Test.VisualBasic\bin\Release\NHibernate.Test.VisualBasic.dll" /> | ||
<assembly path="src\NHibernate.TestDatabaseSetup\bin\Release\net461\NHibernate.TestDatabaseSetup.dll" /> | ||
<assembly path="src\NHibernate.Test\bin\Release\net461\NHibernate.Test.dll" /> | ||
<assembly path="src\NHibernate.Test.VisualBasic\bin\Release\net461\NHibernate.Test.VisualBasic.dll" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above.
- use dotnet to build solution - fix typo in TestEmbeddedConfig.cfg.xml name - fix extension of EntityWithFilters.hbm.xml
<BootstrapperEnabled>true</BootstrapperEnabled> | ||
<TargetFrameworkProfile> | ||
</TargetFrameworkProfile> | ||
<TargetFramework>net461</TargetFramework> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To output an .EXE
, the following needs to be added:
<OutputType>Exe</OutputType>
<StartupObject>NHibernate.Tool.HbmXsd.Program</StartupObject>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Created pull request #672
No description provided.