尝试创建用于文件类型为的目标的项组 - Filename.CSS.ASPX
<Target Name="Test" AfterTargets="Build">
<Message Text="Project $(ProjectName) Test PostBuild" Importance="high" />
<Message Text="%(Content.FullPath)" Condition="%(Extension) == '.aspx' AND %(Filename.Contains(css))" Importance="high" />
</Target>
Run Code Online (Sandbox Code Playgroud)
关于编译;
Error 1 Expected "%(Filename.Contains(css))" to evaluate to a boolean instead of "%(Filename.Contains(css))", in condition "%(Extension) == '.aspx' AND % (Filename.Contains(css))". C:\Projects\TestProj\TestProj\TestProj.csproj 58 38 TestProj
Run Code Online (Sandbox Code Playgroud)
有关扩大评估属性的建议吗?
我正在尝试使用非对称密钥将程序集添加到SQL2008中的数据库.
我们使用十六进制字符串添加程序集(仅通过sql查询向程序集添加程序集)
USE [master]
GO
IF NOT EXISTS (SELECT * from sys.asymmetric_keys where name = 'ManagedAsymmetricKey')
BEGIN
CREATE ASYMMETRIC KEY ManagedAsymmetricKey FROM FILE = 'C:\Managed.dll'
CREATE LOGIN CLRLogin FROM ASYMMETRIC KEY ManagedAsymmetricKey
GRANT UNSAFE ASSEMBLY TO CLRLogin
END
GO
USE [$dbName]
GO
CREATE ASSEMBLY [Managed]
AUTHORIZATION [dbo]
FROM 0x4D5A....
WITH PERMISSION_SET = UNSAFE
GO
Run Code Online (Sandbox Code Playgroud)
这将通过我们收到的网络在本地实例上工作;
The certificate, asymmetric key, or private key file does not exist or has invalid format.
我可能错误地认为我应该首先添加密钥,我是否应该添加程序集然后做一些事情CREATE ASYMMETRIC KEY ManagedAsymmetricKey FROM ASSEMBLY …
XSLT XML 输出格式正在去除结束标记之前的空格
<Import Include="System.Web" />变成<Import Include="System.Web"/>
由于 XSLT 还删除了它所应用的文档中的许多节点,因此我想删除空格,但右斜杠除外。
xslt 被应用于许多 xml ms proj 文件
模板.xsl;
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ms="http://schemas.microsoft.com/developer/msbuild/2003">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<!--<xsl:preserve-space elements="text"/>-->
<xsl:template match='@*|node()'>
<xsl:copy>
<xsl:apply-templates select='@*|node()'/>
</xsl:copy>
</xsl:template>
...
...
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud) 如果导入不存在,XSLT将当前插入导入
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
...
...
<Import Project="$(SolutionDir)BuildShared.targets" />
</Project>
Run Code Online (Sandbox Code Playgroud)
我需要它将它作为第一个节点插入
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(SolutionDir)BuildShared.targets" />
...
...
</Project>
Run Code Online (Sandbox Code Playgroud)
template.xsl;
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ms="http://schemas.microsoft.com/developer/msbuild/2003">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match='@*|node()'>
<xsl:copy>
<xsl:apply-templates select='@*|node()'/>
</xsl:copy>
</xsl:template>
<xsl:template match="/ms:Project[not(ms:Import[@Project='$(SolutionDir)BuildConfiguration.targets'])]">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
<Import xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Project="$(SolutionDir)BuildConfiguration.targets"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
交换导入和apply-templates行给出;
runtime error: file template.xsl line 9 element copy
Attribute nodes must be added before any child nodes to an element.