I believe
signRawTransactionWithKey requires that you provide ALL the keys at the same time.
as per the documentation:
signrawtransactionwithkey "hexstring" ["privatekey",...] ( [{"txid":"hex","vout":n,"scriptPubKey":"hex","redeemScript":"hex","witnessScript":"hex","amount":amount},...] "sighashtype" )
Sign inputs for raw transaction (serialized, hex-encoded).
The second argument is an array of base58-encoded private
keys that will be the only keys used to sign the transaction.
The third optional argument (may be null) is an array of previous transaction outputs that
this transaction depends on but may not yet be in the block chain.
...
I think what you're looking for (with regards to MultiSig) is the relatively new "PSBT" (Partially Signed Bitcoin Transaction) functionality... Refer here:
https://github.com/bitcoin/bitcoin/blob/master/doc/psbt.mdi googled how to spending a multisig address's btc, and all of them said use "signRawTransaction"(Multiple calls "signRawTransaction" with different private keys,the last call will return {complete:true} ), but in the newest rpc specification(0.18.0),"signRawTransaction" has been removed.so u mean when using rpc 0.18.0,i can not use "signRawTransactionWithKey" like using "signRawTransaction" in specification 0.17.0?