You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm working with System.Data.SqlClient making some perf improvements. To produce sensible PR's in need to show the performance difference before and after my changes. I'm having trouble doing this and my options keep decreasing.
The only way to reliably produce a package seems to be to use build -allconfigurations but i'm having problems with that as well. A clean master will produce a nuget package in artifacts\packages\Debug that BDN (in inproc mode) will accept and use because it's compiled in release configuration. I know it has to be this package because i'm forcing the version in the project and that version can only come from my build folder, my nuget.config file only includes the debug packages directory.
I've just done a clean -all and build -allconfigurations on my branch and when I clear the nuget cache and restore the reference to my newly compiled package version then run I'm told that the package isn't compiled in release mode. There are a lot of asserts in the library, the debug and release versions are 200K+ different in size and so there will be a performance difference if I disable the debug warning in BDN. I need a release version. My branch contains no changes to the build configuration or any project files, the code changes are very small and isolated.
So if you're still following in want to build nuget for System.Data.SqlClient which contains release configuration binaries. First I delete the nuget package from artifacts\packages\Debug because I want to recreate it and be certain I've rebuilt it. Now I need to re-create it.
build src\System.Data.SqlClient\pkg [|-release|-debug|-allconfigurations] command completes successfully but does nothing, the package isn't re-created
build src\System.Data.SqlClient -release /p:BuildPackages=true command completes but doesn't create the package
dotnet msbuild src\System.Data.SqlClient\pkg\System.Data.SqlClient.pkgproj fails with an msbuild task error, will file an issue.
build /p:BuildAllConfigurations=true /p:BuildNative=false /p:BuildManaged=false /p:BuildPackages=true creates a package with debug build inside
So. How? Any why would code only changes affect what binary gets put into the nuget package?
The text was updated successfully, but these errors were encountered:
Wraith2
changed the title
Build: release packages
Build: how to get release configuration packages?
Dec 20, 2018
Sorry that you hit all these kinds of issues. There is currently a bug that binaries don't have a unique configuration location means that debug and release overwrite each other. cc @ericstj
I have now, They complete but the package in artifacts\packages\Debug isn't rebuild, a Release one isn't generated. The package rebuild just doesn't seem to work unless my expectation of the output location is wrong.
I'm working with System.Data.SqlClient making some perf improvements. To produce sensible PR's in need to show the performance difference before and after my changes. I'm having trouble doing this and my options keep decreasing.
I can't use BDN and advanced inner-loop method because because I can't get BDN to work with CoreRun correctly issue and I can't use a profiler anymore because it is no longer compatible with .net core. So I need to produce packages and consume them.
The only way to reliably produce a package seems to be to use
build -allconfigurations
but i'm having problems with that as well. A clean master will produce a nuget package inartifacts\packages\Debug
that BDN (in inproc mode) will accept and use because it's compiled in release configuration. I know it has to be this package because i'm forcing the version in the project and that version can only come from my build folder, my nuget.config file only includes the debug packages directory.I've just done a clean -all and build -allconfigurations on my branch and when I clear the nuget cache and restore the reference to my newly compiled package version then run I'm told that the package isn't compiled in release mode. There are a lot of asserts in the library, the debug and release versions are 200K+ different in size and so there will be a performance difference if I disable the debug warning in BDN. I need a release version. My branch contains no changes to the build configuration or any project files, the code changes are very small and isolated.
So if you're still following in want to build nuget for System.Data.SqlClient which contains release configuration binaries. First I delete the nuget package from
artifacts\packages\Debug
because I want to recreate it and be certain I've rebuilt it. Now I need to re-create it.build src\System.Data.SqlClient\pkg [|-release|-debug|-allconfigurations]
command completes successfully but does nothing, the package isn't re-createdbuild src\System.Data.SqlClient -release /p:BuildPackages=true
command completes but doesn't create the packagedotnet msbuild src\System.Data.SqlClient\pkg\System.Data.SqlClient.pkgproj
fails with an msbuild task error, will file an issue.build /p:BuildAllConfigurations=true /p:BuildNative=false /p:BuildManaged=false /p:BuildPackages=true
creates a package with debug build insideSo. How? Any why would code only changes affect what binary gets put into the nuget package?
The text was updated successfully, but these errors were encountered: