Kassian, who had 29 points (14 goals, 15 assists) and 124 penalty minutes in 73 games last season, signed a US$3.5-million, two-year deal. The 23-year-old native of Windsor, Ont., has 50 points (25-25) and 226 PIM in 156 career NHL games.
"Zack is a skilled, young player and an important member of this team," Canucks general manager Jim Benning said in a release. "He has the ability to impact a game both with his talent and size. We look forward to seeing him continue to develop as a Canuck."
Kassian won a silver medal for Canada at the 2011 IIHF world junior championships and helped the Windsor Spitfires win a MasterCard Memorial Cup in 2010. He will receive $1.5 million next season and $2 million in 2015-'16.
Weber, who split last season between Vancouver and the Utica Comets of the AHL, had 10 points (6-4) and 16 PIM in 49 games for Vancouver. The 25-year-old Swiss blue-liner has 42 points (11-31) in 164 career NHL games with the Canucks and Montreal Canadiens.
His one-year contract is worth $850,000.
Also Friday, the Canucks re-signed goaltender Joe Cannata. He spent last season with the Comets, his third in the AHL.