0
幾個星期前,我跑這沒有任何錯誤(只是正常的警告):如何在創建PIA時避免TlbImp.exe錯誤TI1021?
tlbimp TypeLibrary.tlb /primary /out:My.Made.Up.Name.dll
從那時起,我已經運行Windows Update(獲取更新的幾個月)。
但是現在,當我運行相同的命令:
tlbimp TypeLibrary.tlb /primary /out:My.Made.Up.Name.dll
我得到:
TlbImp : error TI1021 : Primary interop assemblies must be strongly named. This
can be accomplished by using either the /publickey, /keyfile or /keycontainer op
tions.
是否可能TLBIMP的行爲已更改爲更新的結果,或者是有一些其他的原因,我不能再運行tlbimp?
我上次肯定沒有密鑰文件,所以我不確定爲什麼我這次可能需要密鑰文件。
嗯,不,Windows Update沒有移動奶酪。沒有強名的PIA就像一個不回來的回力球,它是一根棍子。更有可能的是你之前沒有使用/ primary選項。他們很少需要。尤其是不是今天,PIA在過去的6年裏已經過時了。徹底和優雅地被「嵌入互操作類型」功能取代。 –
我想有一個*機會*我省略了/小學,但我確信我沒有。我嵌入類型,所以我沒有將PIA作爲解決方案本身的一部分來發布,但我確實需要將PIA提交到Git repo,所以其他貢獻者可以構建解決方案。我已經提交了一個這樣的PIA,並且回購仍在構建,所以我猜這意味着我*使用/ primary? – ThunderFrame