我有一个Cloud Service项目,用于通过VSTS在托管代理上部署我的WebRole。
使用Azure云服务模板创建构建定义,其中包括以下步骤:
我添加了
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
使用不安全代码的类库的.csproj文件(用于发布和调试配置)。我在部署时使用了发布配置。
构建解决方案** \ *。sln 步骤通过,但构建解决方案** \ * .ccproj 步骤失败。
通过检查日志,我可以看到构建解决方案** \ *。sln 步骤是使用/ unsafe +参数启动的,但第二个构建步骤不是。
此外,步骤#1的MSBuild参数为空,但对于步骤#2,它们是:
/ t:Publish / p:TargetProfile = $(targetProfile)/ p:DebugType = None / p:SkipInvalidConfigurations = true / p:OutputPath = bin \ / P:PublishDir = “$(build.artifactstagingdirectory)\”
如何将此参数添加到ccproj构建?
答案 0 :(得分:1)
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
已添加到Release | AnyCPU条件:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
但是,使用&#34;任何cpu&#34;来构建项目时平台(默认情况下,在任何&#39; cpu&#39;之间有空格)条件不会受到影响,这与构建.sln项目时相反。我必须明确地将平台设置为&#34; anycpu&#34;没有空间,一切正常。由于这个原因,它也没有选择代码。
答案 1 :(得分:0)
它使用项目的默认平台(通过NotePad打开项目文件,并检查它)是否在VS构建任务中删除了Platform参数,因此您可以在构建定义中检查BuildPlatform构建变量(变量选项卡)的值。 p>