相关疑难解决方法(0)

Visual Studio可以生成配置文件吗?

我需要生成一个描述所用编译器的C++头文件.

传统上我们使用CMake命令:

configure( ${PROJECT_SOURCE_DIR}/configure.h.in ${PROJECT_BINARY_DIR}/configure.h )
Run Code Online (Sandbox Code Playgroud)

它将所有夹在"@"之间的字符串(例如@ cxx_compiler_name @)替换为cmake构建系统中该变量的值.

我们已经被要求面对CMake,所以在Visual Studio中有相同的东西.我想用Visual Studio宏中的一些值填充头文件.

visual-studio visual-c++

14
推荐指数
1
解决办法
329
查看次数

MSBuild ReadLinesFromFile一行上的所有文本

当我在MSBUILD中的文件上执行ReadLinesFromFile并再次输出该文件时,我将所有文本放在一行上.所有Carriage返回和LineFeeds都被删除.

<Project DefaultTargets = "Deploy"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<Import  Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>

<ItemGroup>
    <MyTextFile Include="$(ReleaseNotesDir)$(NewBuildNumber).txt"/>
</ItemGroup>

<Target Name="ReadReleaseNotes">
    <ReadLinesFromFile
        File="@(MyTextFile)" >
        <Output
            TaskParameter="Lines"
            ItemName="ReleaseNoteItems"/>
    </ReadLinesFromFile>
</Target>

<Target Name="MailUsers" DependsOnTargets="ReadReleaseNotes" >
    <Mail SmtpServer="$(MailServer)"
        To="$(MyEMail)"
        From="$(MyEMail)"
        Subject="Test Mail Task"
        Body="@(ReleaseNoteItems)" />
</Target>
<Target Name="Deploy">
    <CallTarget Targets="MailUsers" />
</Target>

</Project>
Run Code Online (Sandbox Code Playgroud)

我从文件中得到通常看起来像这样的文本

- New Deployment Tool for BLAH

- Random other stuff()""
Run Code Online (Sandbox Code Playgroud)

像这样出来

- New Deployment Tool for BLAH;- Random other stuff()""
Run Code Online (Sandbox Code Playgroud)

我知道ReadLinesFromFile的代码将一次拉取一行数据并去除回车.

有没有办法把它们放回去?所以我的电子邮件看起来格式很好?

谢谢

deployment msbuild msbuild-task msbuildcommunitytasks

13
推荐指数
3
解决办法
2万
查看次数

Service Fabric默认发布除Local.xml之外的配置文件

我们公司正在使用Service Fabric开发新的应用程序.我们遇到的一个常见问题是,多个开发人员使用队列,数据库,远程服务器上的存储,每个都有不同的配置,所有设置都存储在每个环境的ApplicationParameters文件中,对于本地开发,只有一个Local.5Node .XML.当我们获得这些文件的最新版本时,很常见的开发人员检查他们的凭据并覆盖其他人.

我正在尝试自定义ServiceFabric部署脚本'Deploy-FabricApplication.ps1'以使用自定义PublishProfile,具体取决于已登录用户的Windows凭据.我可以实现更新部署文件,当我们使用发布进行部署时,它可以正常工作,但是当我们点击F5(debug)时,ServiceFabric的默认行为似乎是用特定的Local.5Node.xml应用程序参数覆盖参数.

我探索了所有服务结构.ps1文件,但找不到这个定义的位置.我想这是在.targets文件上定义的,所以我不知道如何避免这种默认行为.

是否有任何其他方法在Local.5Node.xml以外的本地开发机器上使用自定义PublishProfiles?

azure azure-service-fabric

3
推荐指数
2
解决办法
2702
查看次数

msbuild fileupdate安装项目

我希望使用msbuildtasks.tigris.org中的fileUpdate任务来修改图像src作为我们的Web设置项目的一部分,以便它们指向静态img子域(或稍后的CDN)
我可以在一个内部运行任务给定项目:

<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
<Target Name="AfterBuild">
<FileUpdate 
   Files="basic.css" 
   Regex="/images/([^\)]*)" 
   ReplacementText="http://img.domain.com/images/$1" />
</Target>
Run Code Online (Sandbox Code Playgroud)

但是,我不想覆盖原始的css源文件,但希望将其作为生成msi的部署项目的一部分运行.这是使用Web安装项目(.vdproj)完成的,该项目还使用自定义操作项目,该项目只是一个标准.csproj

我的问题是:
1.如何在安装项目中运行此任务,以便替换进入.msi的文件中的内容?
2.有没有办法为文件使用通配符 - 理想情况下我想对所有.css文件执行此操作?

谢谢你的帮助

msbuild msbuildcommunitytasks

2
推荐指数
1
解决办法
9625
查看次数