-
Notifications
You must be signed in to change notification settings - Fork 31
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
Release configuration merge gives error failed to resolve assembly #26
Comments
Awaiting for your response @ravibpatel |
You can try manually providing targets file this way you can manually add all the assemblies you want to merge. You can do it as shown here. |
Thanks for your response @ravibpatel. I have already used your example targets file and provided manually in project. Still it complaints for the same. |
You can try adding binding redirects as shown in this article. Also, I don't see "Microsoft.Xrm.Sdk.dll" in targets file which should contain the "Microsoft.Xrm.Sdk". If it still doesn't work then embedding may work better than merging in this case. You can try Costura.Fody to embed dll's inside your executable. |
I'm able to reproduce this issue using the code in this repo:
Notice the build fails with the following output:
Any ideas? Thank you. |
+1 ☝️ Experiencing the exact same issue |
I had a similar problem trying to merge |
Same issue here. |
I had this issue and I believe the fix was adding an inputassemblies reference in ILRepack.targets. Please note the expandable ReferencePathWithRefAssemblies inclusion. Just add the file name and exclude the .dll (file type).
|
In my case (.NET Standard 2.0 library) I had to specify <?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="ILRepacker" AfterTargets="Build">
<ItemGroup>
<InputAssemblies Include="$(TargetPath)"/>
<InputAssemblies Include="@(ReferencePathWithRefAssemblies)" Condition="'%(filename)' == 'IndexRange'" />
<LibraryPath Include="%(ReferencePathWithRefAssemblies.RelativeDir)" />
</ItemGroup>
<ILRepack
AllowDuplicateResources="false"
DebugInfo="true"
Internalize="true"
InputAssemblies="@(InputAssemblies)"
LibraryPath="@(LibraryPath)"
OutputFile="$(TargetPath)"
Parallel="true"
TargetKind="SameAsPrimaryAssembly" />
</Target>
</Project> This way I do not need to have NuGet dependencies to be copied to the output directory. |
Had the same issue. |
Hello @ravibpatel
I have created a new C# project and used ILRepack.Lib.MSBuild.Task.2.0.18.1 and added below code in my project .csproj file and it works absolutely fine, but when I add earlybound class file ([assembly: Microsoft.Xrm.Sdk.Client.ProxyTypesAssemblyAttribute()]) to my project It gives below error.
What do you think could be the problem? Can you please share the solution of the problem?
<Import Project="..\packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets" Condition="Exists('..\packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> <Error Condition="!Exists('..\packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets'))" /> </Target>
1> D365.Plugins -> C:\Users\admin\source\repos\D365.Plugins\D365.Plugins\bin\Release\D365.Plugins.dll
1> Added assembly 'bin\Release\Microsoft.Crm.Sdk.Proxy.dll'
1> Added assembly 'bin\Release\microsoft.identitymodel.dll'
1> Added assembly 'bin\Release\Microsoft.ServiceBus.dll'
1> Added assembly 'bin\Release\Microsoft.Xrm.Client.CodeGeneration.dll'
1> Added assembly 'bin\Release\Microsoft.Xrm.Client.dll'
1> Added assembly 'bin\Release\Microsoft.Xrm.Portal.dll'
1> Added assembly 'bin\Release\Microsoft.Xrm.Portal.Files.dll'
1> Added assembly 'bin\Release\Microsoft.Xrm.Sdk.Deployment.dll'
1> Added assembly 'bin\Release\Microsoft.Xrm.Sdk.dll'
1> Merging 9 assembies to 'bin\Release\D365.Plugins.dll'
1>C:\Users\admin\source\repos\D365.Plugins\packages\ILRepack.Lib.MSBuild.Task.2.0.18.1\build\ILRepack.Lib.MSBuild.Task.targets(19,5): error : Failed to resolve assembly: 'Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
The text was updated successfully, but these errors were encountered: