<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>C# on HowettNET</title>
    <link>https://www.howett.net/tags/c%23/</link>
    <description>Recent content in C# on HowettNET</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 31 Jul 2016 20:00:00 -0700</lastBuildDate><atom:link href="https://www.howett.net/tags/c%23/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ProtoCTask</title>
      <link>https://www.howett.net/projects/protoctask/</link>
      <pubDate>Sun, 31 Jul 2016 20:00:00 -0700</pubDate>
      
      <guid>https://www.howett.net/projects/protoctask/</guid>
      <description>A MSBuild task that invokes ProtoC for protobuf files</description>
      <content>


&lt;a href=&#34;https://gitlab.howett.net/DHowett/ProtoCTask&#34;&gt;&lt;i class=&#34;icon-git&#34;&gt; &lt;/i&gt; DHowett/ProtoCTask (HowettNET GitLab)&lt;/a&gt;



&lt;a href=&#34;https://github.com/DHowett/ProtoCTask&#34;&gt;&lt;i class=&#34;icon-github&#34;&gt; &lt;/i&gt; DHowett/ProtoCTask&lt;/a&gt;




&lt;p&gt;ProtoCTask is an MSBuild task that will invoke the protobuf compiler for any &lt;code&gt;.proto&lt;/code&gt; files in your MSBuild-based
project. It was originally developed for Visual Studio 2015 and has not received an update since then.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;PropertyGroup&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;ProtoCTaskDir&amp;gt;&lt;/span&gt;path\to\directory\containing\ProtoC.props&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/ProtoCTaskDir&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/PropertyGroup&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;Import&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Project=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;$(ProtoCTaskDir)\ProtoC.props&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;Import&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Project=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;$(ProtoCTaskDir)\ProtoC.targets&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;!-- ... --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;ItemGroup&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;Protobuf&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Include=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;File.proto&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/ItemGroup&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: If you build this from source, it currently requires bin/protoc.exe to be added to the staging directory
manually.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Automatically generates &lt;code&gt;.pb.cc&lt;/code&gt; files and passes them to &lt;code&gt;ClCompile&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Adds the directory containing the &lt;code&gt;.pb.h&lt;/code&gt; files to the &lt;code&gt;ClCompile&lt;/code&gt; include path.&lt;/li&gt;
&lt;li&gt;Does dependency tracking for minimal rebuilds.&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
  </channel>
</rss>
