Police in the town of Brissago in Switzerland's Italian-speaking canton of Ticino said they were called to a refugee centre after a report of an altercation after midnight.
Officers say they escorted two asylum seekers into the building, where they were rushed by a man brandishing two knives.
Danish divers find missing body parts of Swedish journalist
"To guarantee the safety of all those present, a cantonal police officer fired his gun and seriously injured the aggressor," Ticino police said in a statement.
Despite first aid, the man died at the scene, the police said.
His nationality was not immediately released.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ