2011-03-01 11 views
5

Birkaç Visual Studio 2010 C# projem var. Hepsinin aynı yayın oluşturma etkinliğine sahip olmasını isterim. Temel olarak çıktılarını bir yere kopyalamasını istiyorum. Her csproj dosyasında bir <import> ifadesi kullanarak bunu yapabileceğimi düşünüyorum, ancak içe aktarılan dosyada ihtiyaç duyduğum özellikleri/hedefleri anlayamıyorum. Önerin var mı?Birden çok csproj projesi tarafından kullanılan ortak bir yayın oluşturma olayı nasıl oluşturabilirim

DÜZENLEME: Aşağıdakileri denedim, ancak işe yaramayacağım. Sonra csproj dosyalarda dahil

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Target Name="AfterBuild"> 
     <Message Text="Here I come to save the day!" /> 
    </Target> 
</Project> 

:

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Import Project="Imports.props" /> 
    ... 

Ben de Imports.props olarak bu denedim: gibi bu Imports.props dosya göründüğünü olduğunu

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
     <PostBuildEvent>echo Here I come to save the day!</PostBuildEvent> 
    </PropertyGroup> 
</Project> 
Her bir proje dosyasında

cevap

4

Eğer Microsoft.Common.targets içe sonra bu dosya geçersiz kılar boş AfterBuild hedefi, tanımlar gibi hedefler dosyasını içeri emin olun hedefler dosyanızdaki tanım.

+0

Bingo. Üstte ithalat yaptım. Teşekkürler! – Charles

0

Miras özellik sayfasında, bir yapı senaryosunu, miras alınan özellik sayfasında bir makro olarak yazarak paylaşmayı başardım. Ardından makroyu ihtiyaç duyan projelerin herhangi birinde arayın.

Makrolar (VS2005) altında bulunur:

hatırla Ortak Properties-> Kullanıcı makrolar, bu kadar uzun sipariş doğrudur gibi diğer makroları içinde makro koyabilirsiniz.

İlgili konular