.NET 4.0 & VSSDK 2010
Hi, it's me again.. guy with custom logger for msbuild :)
So., I started to configure AppVeyor for project about what I wrote before.. however,
here I tested sln for VS2013 on test repo where used .NET 4.5
and this all working fine, but this project also a little harder (not trivial I mean) :)
Short again: This project as extension for Visual Studio 2010,
2012, 2013, 2015 requires the VSSDK and used self assembly through
msbuild as I said before.
But all references from VSSDK has been used with compatibility on
VS2010 - therefore this can be used for build with VSSDK 2010 on
all new versions of the Visual Studio! (well, on current day)
And therefore still exists supports of the VS2010... but in any case, currently I can't build for VS2010 with AppVeyor!
for example for VS2013:
*
https://ci.appveyor.com/project/3Fs/vssolutionbuildevent/build/1.0.1
nuget restore vsSolutionBuildEvent_2013.sln
&
"C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe" "vsSolutionBuildEvent_2013.sln" /verbosity:detailed
/logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
/l:"C:\projects\vssolutionbuildevent\packages\vsSBE.CI.MSBuild.1.0.2\bin\CI.MSBuild.dll" /m /p:Configuration=CI_Debug
is ok, all working... but with notice:
Found conflicts between different versions of the same dependent assembly that could not be resolved. These reference conflicts are listed in the build log when log verbosity is set to detailed.
i.e.:
"Microsoft.VisualStudio.Shell.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" was chosen because it was primary and "Microsoft.VisualStudio.Shell.10.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" was not.
References which depend on "Microsoft.VisualStudio.Shell.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" [C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.Shell.10.0\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Shell.10.0.dll].
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.Shell.10.0\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Shell.10.0.dll
Project file item includes which caused reference "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.Shell.10.0\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Shell.10.0.dll".
Microsoft.VisualStudio.Shell.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL
References which depend on "Microsoft.VisualStudio.Shell.10.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" [C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.Shell.10.0\v4.0_12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Shell.10.0.dll].
and example for .NET 4.0 - similar as above except sln file -
'vsSolutionBuildEvent.sln':
*
https://ci.appveyor.com/project/3Fs/vssolutionbuildevent/build/1.0.2
warning MSB3274: The primary reference "Microsoft.VisualStudio.Shell.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" 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".
yes, because all projects with 'vsSolutionBuildEvent.sln' used
target platform .NET 4.0, and AppVeyor provides the
C:\Program Files (x86)\Microsoft Visual Studio
12.0\VSSDK\VisualStudioIntegration\
where all libraries
compiled for .NET 4.5
and of course C:\Program Files
(x86)\MSBuild\Microsoft\VisualStudio\v10.0\VSSDK\Microsoft.VsSDK.targets"
was not found.
etc.
My variants for this ? :)
What I already tested:
- Replacing in references on this lib: VSSDK.Shell.10 10.0.4 without dependencies, i.e. only Microsoft.VisualStudio.Shell.10.0.dll for .NET 4.0
- And removed the
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\VSSDK\Microsoft.VsSDK.targets" />
from project file
yep, this working variant for your server... but, current mixes is not convenient at least... i.e. this still require the full VSSDK, unstable links, etc.
I also found
this story
and also have a question for this variant
here
but.. it will be helpful to see VSSDK2010 for supporting .NET 4.0 on AppVeyor!
OR!
What your variants ? or what you think ?
Comments are currently closed for this discussion. You can start a new one.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
1 Posted by reg on 06 Feb, 2015 11:38 PM
and yes with warning for working variant above i see
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.Shell.10.0\v4.0_10.0.0.0
o_Othe main difference for the Solution files above it's a target platform 'vsSolutionBuildEvent.sln' -> .NET 4.0 'vsSolutionBuildEvent_2012.sln' & 'vsSolutionBuildEvent_2013.sln' -> .NET 4.5
it means server already contains in GAC Microsoft.VisualStudio.Shell.10.0 for .NET 4.0 ? so, what's going on ?
Support Staff 2 Posted by Feodor Fitsner on 09 Feb, 2015 10:21 PM
Right, there is no VS 2010 SDK on build workers. We may support it in the future.
For now I'd recommend packaging into 7z archive all required
.targets
files and reference assemblies with preserving their original locations and then just downloading/unpacking them during the build. You can GAC any assemblies too.3 Posted by reg on 11 Feb, 2015 08:50 PM
Thanks for reply, Feodor!
it will be great!
today, I resolved this problem with our special script:
https://gist.github.com/3F/3f2f56dfc2a01dc99c63
all working fine :)
https://ci.appveyor.com/project/3Fs/vssolutionbuildevent/build/1.2
in general this result after replacing the VisualStudio.Shell.10.0 (only, as I said above) ..
4 Posted by reg on 11 Feb, 2015 09:03 PM
hmm., a little problem
https://ci.appveyor.com/project/3Fs/vssolutionbuildevent/build/1.2/...
i see next: bin\Releases.zip
but i can't find the .vsix file о_О
should be also the vsSolutionBuildEvent_v0.11.0.40096_[fff3f45][net40].vsix
in log I also see the normal state:
and in Release_notes.txt:
Where is vsix file :) ?
Ilya Finkelshteyn closed this discussion on 25 Aug, 2018 01:54 AM.