MSBuild bug with CreateProperty and CallTarget
After banging my head against the wall for a short period of time I came across Sayed Ibrahim Hashimi’s post about a bug in the RTM of MSBuild.
Basically if you call CreateProperty and CallTarget in the same Target, your new property will not be globally available to other targets. You must move the CreateProperty into a Target by itself.
The funny thing is that Microsoft marked his bug as resolved and said “Good suggestion -- we will look into this for a future version.” Not sure how that resolves the issue…
This will not work:
45 <Target Name="Main">
46 <CreateProperty Value="Hello World!">
47 <Output TaskParameter="Value" PropertyName="MyString" />
48 </CreateProperty>
49 <CallTarget Targets="OutputString" />
50 </Target>
51
52 <Target Name="OutputString">
53 <Message Text="MyString: $(MyString)" />
54 </Target>
And this will work:
45 <Target Name="Main">
46 <CallTarget Targets="SetString" />
47 <CallTarget Targets="OutputString" />
48 </Target>
49
50 <Target Name="SetString">
51 <CreateProperty Value="Hello World!">
52 <Output TaskParameter="Value" PropertyName="MyString" />
53 </CreateProperty>
54 </Target>
55
56 <Target Name="OutputString">
57 <Message Text="MyString: $(MyString)" />
58 </Target>
Recent Posts
- Understanding API First Strategy and Benefits
- Frankenstein APIs Explained! - API Cyber Security Series
- API Security 101 - Cyber Security Explained
- API Trends 2022 - API Security and Cybersecurity
- API Trends 2022 - Seamless Integration Solutions
- API Trends 2022 - Adaptive API Management
- API Trends 2022 - API Integration Automation
- API Trends 2022 - Industry Specific Breakouts
- API Trends 2022 - API Best Practices
- API Trends 2022 - Open API Standards
- API Trends 2022 - API Integration Experience
- API Trends 2022 - API-Led Modernization
- API Trends 2022 - API Economy Growth
- Brenton House - Give your App and APIs a Turbo Boost – Part 2
- Easily Enable Speech Recognition in Titanium iOS using Hyperloop
Tag Cloud
- .NET
- adaptive api management
- android
- api
- api automation
- api best practices
- api economy
- api experience
- api first
- api integration
- api integrations
- api management
- api security
- api standards
- api strategy
- api trends
- apis
- appcelerator
- automation
- boot
- Brenton House
- C#
- Cisco VPN
- Cloud
- Community News
- Continuous Integration
- crash
- cybersecurity
- Dropbox
- fhir apis
- Free Stuff
- General Software Development
- Google Drive
- graphql
- healthcare apis
- houserules
- hyperloop
- ios
- json schema
- Live Mesh
- Mac OS X
- Microsoft
- mobile
- mobile api
- native
- open banking
- openapi
- Other Stuff
- SkyDrive
- speech
- Stuff
- swagger
- Team Systems
- titanium native
- titanium turbo
- Unit Testing
- Vista
- Visual Studio
- Visual Studio 11
- voice
- win7
- Windows 7
- Windows 8
- windows update