我很困惑,如果我选择"创建部署脚本"选项并"部署"项目,我会得到一个SQL文件,它使用非SQL语法来处理变量,如$ database.
我该如何执行该部署脚本?我很确定SQL Server管理Studio不理解语法.
在我看来,实际部署的唯一方法是将选项转换为"创建部署脚本并部署到数据库"
我有一些像这样lloks的Transact-SQL,它可以通过SqlCommand对象执行,还是我需要开始学习Sql管理对象?
BEGIN TRANSACTION
BEGIN TRY
IF NOT EXISTS
(
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_CATALOG = (SELECT DB_NAME())
AND TABLE_NAME = 'SchemaVersion'
)
BEGIN
Print 'Migrating up...'
CREATE TABLE SchemaVersion (
Id INT IDENTITY(1,1) NOT NULL,
Version INT NOT NULL,
CONSTRAINT PK_SchemaVersion PRIMARY KEY CLUSTERED (
Id ASC
)
)
INSERT INTO SchemaVersion (Version) VALUES(1)
PRINT 'Migrated from 0 to 1'
END
ELSE IF (SELECT Version FROM SchemaVersion) = 1
BEGIN
Print 'Migrating down...'
DROP TABLE Dia_SchemaVersion
PRINT 'Migrated from …Run Code Online (Sandbox Code Playgroud) 我在服务器上的mp4文件中有一个H.264/AAC编码的视频,mime类型的视频/ mp4被添加到Web服务器(IIS 7),我有一个带有视频标签的页面:
<video id="html5-video" width="360" height="202" poster="/images/poster.png" controls>
<source src="/video/Web-360x202-14MB.mp4" type="video/mp4">
</video>
Run Code Online (Sandbox Code Playgroud)
适用于iPhone 4,但在iPhone 3GS(相同的iOS版本,4.3.2)上只显示海报图像并点击它不会启动视频.
当我尝试直接打开视频文件时,我从Mobile Safari开发者控制台获得了"提示":
其他提示
的QuickTime
电影无法播放
让HTML5视频在iPhone 3GS上运行需要什么?这是编码问题吗?
如果您这样做,您能否提供一些有关实施的背景信息以及实施此模式的原因?
在这些文章中更详细地描述了该模式:
这只是为了更好地理解ASP.NET框架.当您以声明方式(即Web表单标记)使用控件时,您可以使用以以下内容开头的属性通过其方法名称分配事件处理程序On:
<asp:Button runat="server" OnClick="..."/>
Run Code Online (Sandbox Code Playgroud)
但是当你查看System.Web.UI.WebControls.Button类时,它有一个名为Click委托被指定为的DelegHandler属性:
button.Click += new EventHandler(...);
Run Code Online (Sandbox Code Playgroud)
那么这是如何实现的呢?这仅仅是解析器遵循的约定吗?
我知道,这是一个奇怪的问题,答案只会满足我的好奇心.
我在每次构建后使用_bin_deployableAssemblies文件夹将ASP.NET MVC程序集复制到bin文件夹.不幸的是,MSBuild任务还复制了隐藏的.svn文件夹.
我想在项目级别解决这个问题,所以我在.csproj文件中RemoveDir向AfterBuild目标添加了一个任务,该文件适用于普通版本.
<RemoveDir Directories="@(OutDir).svn" />
Run Code Online (Sandbox Code Playgroud)
但是,当我发布网站时,它似乎不起作用.发布后,.svn文件夹将复制到发布向导的目标文件夹中.奇怪的是,尽管有RemoveDir任务,它也会在项目的/ bin文件夹中结束!
在目标文件中C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets,动态创建项目组以包含文件夹_bin_deployableAssemblies中的所有文件:
<CreateItem Include="$(MSBuildProjectDirectory)\_bin_deployableAssemblies\**\*.*"
Condition="Exists('$(MSBuildProjectDirectory)\_bin_deployableAssemblies')">
<Output ItemName="_binDeployableAssemblies" TaskParameter="Include"/>
</CreateItem>
Run Code Online (Sandbox Code Playgroud)
使用目标中的Message任务,AfterBuild我可以看到此项目组包含.svn文件夹中的所有文件.
所以我尝试了以下技巧来调整.AfterBuild目标中的项目组:
<ItemGroup>
<_binDeployableAssemblies Remove="$(MSBuildProjectDirectory)\_bin_deployableAssemblies\.svn\**\*.*" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
如果我在使用Message任务之后打印文件列表,我可以看到它不再包含.svn文件夹中的文件.但是,在构建或发布时,.svn文件仍会复制到输出文件夹中!
似乎Publish命令首先进行常规构建,此时我们可以使用AfterBuild目标删除文件.但随后它将文件复制到临时位置(在/ obj文件夹中)以便发布它们.在这个阶段,似乎它拷贝一切从_bin_deployableAssemblies到仓再次才把拷贝箱(及其他项目文件)的临时位置.这似乎发生在 AfterBuild 之后.
因此,技巧可能是在将项目文件复制到临时文件夹之前挂钩到某个进程.或者之后,不仅需要清除临时文件夹,还需要第二次清除原始bin文件夹.这可以通过钩入许多DependsOn目标中的一个来实现.
如果没有合适的目标来执行此操作,那么从某个中间项组中删除文件可能是一种解决方案,因此它们实际上从未被复制或发布.
由于缺乏对发布流程的理解,我无法实现这些可能的修复.
如何防止文件被复制或复制后删除文件?如何为常规版本和发布命令执行此操作?
如果我在XSD中有以下元素规范,我可以将<xs:unique>约束添加为子项,<xs:element name="Parent">但我不能让它作为子项工作<xs:element name="Child">:
<xs:element name="Parent">
<xs:complexType>
<xs:element name="Child" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Key" type="xs:string" use="required" />
</xs:complexType>
<!-- Option A: insert unique constraint here with selector . -->
</xs:element>
</xs:complexType>
<!-- Option B: insert unique constraint here with selector ./Child -->
</xs:element>
Run Code Online (Sandbox Code Playgroud)
这是作为孩子的唯一约束<xs:element name="Parent">:
<xs:unique name="ChildKey">
<xs:selector xpath="./Child"/>
<xs:field xpath="@Key" />
</xs:unique>
Run Code Online (Sandbox Code Playgroud)
但是这种独特的约束并不适合作为孩子<xs:element name="Child">:
<xs:unique name="ChildKey">
<xs:selector xpath="."/>
<xs:field xpath="@Key" />
</xs:unique>
Run Code Online (Sandbox Code Playgroud)
在第二种情况下是否需要更改选择器XPath?
我有一个FileInfo包含~200.000个文件条目的数组.我需要找到所有具有相同文件名的文件.我需要每个重复文件的目录名和文件名的结果,因为我想在之后重命名它们.
我已经尝试过了:
根据《Assemblers And Loaders》(一本有 24 年历史的关于汇编程序如何工作的书):
...一次性汇编器无法生成可重定位目标文件。指令的类型(绝对指令或可重定位指令)只能通过检查原始源指令来确定。一次性汇编器将机器指令直接加载到内存中。一旦进入内存,指令就只是一个数字。通过查看内存中的机器指令,无法判断原始指令是绝对指令还是可重定位指令。
书中给出了以下可重定位指令和绝对指令的伪代码:
JMP TO
...
TO: ADD 1,2
Run Code Online (Sandbox Code Playgroud)
其中第一条指令使用符号TO,第二条指令将寄存器“1”和寄存器“2”中的值相加。
据我了解,您不需要源代码就知道第一条指令的机器代码是可重定位的。应该可以使用操作码表来确定它是指令JMP并且它必须跳转到需要可重定位的地址。
我的假设正确吗?
背景:虽然这本书很旧,但我通过阅读它可以更好地了解 6502 和 65816 等旧 CPU 的汇编。
我的一位同事开发了一个自动设置文档标题的工作流程.通过这个工作流程,正如他所说,他可以优化研究并查找类似的东西.但是我认为可以通过文档名称来完成.这背后肯定有某种故事.有人可以帮我吗?谢谢!
sharepoint workflow document-management sharepoint-documents