We consider a utility-maximization problem in a general semimartingale financial model, subject to constraints on the number of shares held in each risky asset. These constraints are modeled by predictable convex-set-valued processes whose values do not necessarily contain the origin; that is, it may be inadmissible for an investor to hold no risky investment at all. Such a setup subsumes the classical constrained utility-maximization problem, as well as the problem where illiquid assets or a random endowment are present. Our main result establishes the existence of optimal trading strategies in such models under no smoothness requirements on the utility function. The result also shows that, up to attainment, the dual optimization problem can be posed over a set of countably-additive probability measures, thus eschewing the need for the usual finitely-additive enlargement.