我们正在使用Nlog作为我们的Azure角色的工作者角色的日志记录工具。 它需要NLog.config文件。我们安装了“SlowCheetah - XML Transforms”,并进行了两次Debug / Release转换。
解决方案确实可以成功重建。
但是当我尝试运行时,我遇到了以下错误。 (我在我的一个Windows服务应用程序中使用了nolog.config的完全转换,并且在那里工作正常)。
错误163项目列表“OutputGroups”中的项目“bin \ Debug \ NLog.config” 没有为元数据“TargetPath”定义值。为了使用 这个元数据,要么通过指定限定它 %(OutputGroups.TargetPath),或确保此列表中的所有项目 定义此元数据的值。 C:\ Program Files (x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Windows Azure Tools \ 1.6 \ Microsoft.WindowsAzure.targets 2299 5 Insight.CloudWeb
答案 0 :(得分:0)
我不知道这是否是由SlowCheetah扩展程序完成的,但你能否验证你的* .csproj文件是否包含与此类似的AfterCompile目标?
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<UsingTask TaskName="TransformXml"
AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll" />
<Target Name="AfterCompile" Condition="exists(’app.$(Configuration).config’)">
<TransformXml Source="NLog.config"
Destination="$(IntermediateOutputPath)$(TargetFileName).config"
Transform="NLog.$(Configuration).config" />
<ItemGroup>
<AppConfigWithTargetPath Remove="NLog.config"/>
<AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config">
<TargetPath>$(TargetFileName).config</TargetPath>
</AppConfigWithTargetPath>
</ItemGroup>
</Target>
在 App.config文件转换下查看Oleg的博文.Config File Transformation以获取更多信息。
答案 1 :(得分:0)
我有一个解决方法。现在,您应该能够使用SlowCheetah转换app.config以及Azure Worker Roles的其他XML文件。一旦我得到修复验证,我将发布VS画廊的更新。
如果您想尝试修复,可以在https://dl.dropbox.com/u/40134810/SlowCheetah/issue-44/SlowCheetah-issue-44.zip下载更新的VSIX。如果您有兴趣对此进行跟进,请使用issue #44。