Ok my problem is simple, but i can't figured it out.
In a single solution I have a project (Application exe) that references another one (lib). This lib references a nuget package, for instance, CxImage.
.targets
<?xml version="1.0" encoding="utf-8"?>
<Project ToolVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>"$(MSBuildThisFileDirectory)include";%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<!-- patch -->
<AdditionalIncludeDirectories>"$(MSBuildThisFileDirectory)include\cximage";%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="$(Configuration.ToLower().StartsWith('release')) And '$(Platform.ToLower())'=='x64'">
<Lib>
<AdditionalLibraryDirectories>"$(MSBuildThisFileDirectory)lib\x64";%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
<Link>
<AdditionalDependencies>CxImage.lib;jpeg.lib;png.lib;tiff.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>"$(MSBuildThisFileDirectory)lib\x64";%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="$(Configuration.ToLower().StartsWith('debug')) And '$(Platform.ToLower())'=='x64'">
<Lib>
<AdditionalLibraryDirectories>"$(MSBuildThisFileDirectory)lib\x64";%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
<Link>
<AdditionalDependencies>CxImage_d.lib;jpeg_d.lib;png_d.lib;tiff_d.lib;zlib_d.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>"$(MSBuildThisFileDirectory)lib\x64";%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="$(Configuration.ToLower().StartsWith('release')) And '$(Platform.ToLower())'=='win32'">
<Lib>
<AdditionalLibraryDirectories>"$(MSBuildThisFileDirectory)lib\x86";%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
<Link>
<AdditionalDependencies>CxImage.lib;jpeg.lib;png.lib;tiff.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>"$(MSBuildThisFileDirectory)lib\x86";%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="$(Configuration.ToLower().StartsWith('debug')) And '$(Platform.ToLower())'=='win32'">
<Lib>
<AdditionalLibraryDirectories>"$(MSBuildThisFileDirectory)lib\x86";%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
<Link>
<AdditionalDependencies>CxImage_d.lib;jpeg_d.lib;png_d.lib;tiff_d.lib;zlib_d.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>"$(MSBuildThisFileDirectory)lib\x86";%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>
When building the other project that references this lib, it results in a LNK2019 unresolved external symbol "public: __thiscall CxImage::CxImage(unsigned int)" (??0CxImage@@QAE@I@Z) referenced in function
Means that it cannot find lib file of cxImage.
I found a way to fix the problem but I don't think it's right. In the properties of the lib used in other apps, in Librarian > General > Additionnal Dependencies, I added cxImage lib. I though that the first idea behind nuget package was to avoid this kind of thing so...
** it's not related to cxImage, the problem occurs in any other case. I just mentioned this one for instance
Any idea ?? ^^