Project

Profile

Help

VS 2022 doesn't manage to publish .NET 6 project with SaxonCS 12.2 NuGet dependency; giving error multiple publish output files with the same relative path, naming ICU4N.resources.dll and ICU4N.resources.dll

Added by Martin Honnen 10 months ago

I am trying to build and test a .NET 6 cross platform app using SaxonCS 12.2 with VS 2022. In my intent to test the publishing feature of VS for that particular project to a particular folder I get errors like

2>Found multiple publish output files with the same relative path: C:\Users\marti\.nuget\packages\icu4n.resources\60.1.0-alpha.402\lib\netstandard1.0\pa-Guru-IN\ICU4N.resources.dll, C:\Users\marti\.nuget\packages\icu4n.resources\60.1.0-alpha.402\lib\netstandard1.0\pa-IN\ICU4N.resources.dll, C:\Users\marti\.nuget\packages\icu4n.resources\60.1.0-alpha.402\lib\netstandard1.0\zh-CN\ICU4N.resources.dll, C:\Users\marti\.nuget\packages\icu4n.resources\60.1.0-alpha.402\lib\netstandard1.0\zh-Hans-CN\ICU4N.resources.dll, C:\Users\marti\.nuget\packages\icu4n.resources\60.1.0-alpha.402\lib\netstandard1.0\zh-HK\ICU4N.resources.dll, C:\Users\marti\.nuget\packages\icu4n.resources\60.1.0-alpha.402\lib\netstandard1.0\zh-Hant-HK\ICU4N.resources.dll, C:\Users\marti\.nuget\packages\icu4n.resources\60.1.0-alpha.402\lib\netstandard1.0\zh-Hans-SG\ICU4N.resources.dll, C:\Users\marti\.nuget\packages\icu4n.resources\60.1.0-alpha.402\lib\netstandard1.0\zh-SG\ICU4N.resources.dll, C:\Users\marti\.nuget\packages\icu4n.resources\60.1.0-alpha.402\lib\netstandard1.0\zh-Hant-MO\ICU4N.resources.dll, C:\Users\marti\.nuget\packages\icu4n.resources\60.1.0-alpha.402\lib\netstandard1.0\zh-MO\ICU4N.resources.dll, C:\Users\marti\.nuget\packages\icu4n.resources\60.1.0-alpha.402\lib\netstandard1.0\zh-Hant-TW\ICU4N.resources.dll, C:\Users\marti\.nuget\packages\icu4n.resources\60.1.0-alpha.402\lib\netstandard1.0\zh-TW\ICU4N.resources.dll.

Has anyone ever seen that?

It seems "ICU4N (>= 60.1.0-alpha.402)" and "ICU4N.Resources (>= 60.1.0-alpha.402)" are a SaxonCS dependency.

In the end I found that adding <ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles> to the VS project file prevents the publishing to fail on such an error; I am not sure, however, in the worst case some users of the published app would later run into missing or wrong ICU functionality. Only I myself will never notice for stuff like zh-CN\ICU4N.resources.dll.


Replies (1)

VS 2022 doesn't manage to publish .NET 6 project with SaxonCS 12.2 NuGet dependency; giving error multiple publish output files with the same relative path, naming ICU4N.resources.dll and ICU4N.resources.dll - Added by Norm Tovey-Walsh 10 months ago

I am trying to build and test a .NET 6 cross platform app using SaxonCS 12.2 with VS 2022. In my
intent to test the publishing feature of VS for that particular project to a particular folder I get
errors like
[…]
Has anyone ever seen that?

Not me.

It seems "ICU4N (>= 60.1.0-alpha.402)" and "ICU4N.Resources (>= 60.1.0-alpha.402)" are a
SaxonCS dependency.

Yes. That’s part of some work to improve numeration and other features
in SaxonCS.

In the end I found that adding false
to the VS project file prevents the publishing to fail on such an error; I am not sure, however, in the
worst case some users of the published app would later run into missing or wrong ICU functionality.
Only I myself will never notice for stuff like
zh-CN\ICU4N.resources.dll.

The fact that there are 600 different versions of that resource DLL is
apparently “standard operating procedure” for such things on .NET. Or so
I’m told.

Be seeing you,
norm

--
Norm Tovey-Walsh
Saxonica

    (1-1/1)

    Please register to reply