我需要拦截SSDT构建来修改构建脚本.我已经按照MSDN部署计划修改器教程,但是当我尝试构建数据库项目时,出现以下错误:
Required contributor with id 'MyDeploymentContributor.SqlRestartableScriptContributor'
could not be loaded.
Run Code Online (Sandbox Code Playgroud)
我使用的是Visual Studio 2012(版本11.0.61219.00 Update 5)和SSDT版本11.1.50730.0.
我签署了程序集,但没有指定密码.
我已经按照我在网上找到的几个解决方案无济于事,包括以下内容:
将MyDeploymentContributor.dll和MyDeploymentContributor.pdb复制到以下位置:
C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\ExtensionsC:\Program Files (x86)\Microsoft SQL Server\110\DAC\binC:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\Extensions捕获SSDT和DacFx的事件日志(遵循Kevin Cunnane的说明,访问https://social.msdn.microsoft.com/Forums/en-US/5c84ab8e-b50b-4ecd-86da-866ac3bb2248/known-issue-with-ssdt-可扩展性 - 当前 - 释放?论坛= ssdt).以下是DacFx日志的结果:
C:\Program Files
(x86)\Microsoft Visual Stusio 11.0\Common7\IDE\Extensions\Micrsoft\SQLDB\DAC\120\Extensions\MyDeploymentContributor.dll
添加程序集C:\Program Files
(x86)\Microsoft Visual Stusio 11.0\Common7\IDE\Extensions\Micrsoft\SQLDB\DAC\120\Extensions添加到扩展查找路径的目录Microsoft.SqlServer.Dac.Deployment.DeploymentPlanExecutorMicrosoft.SqlServer.Dac.Deployment.DeploymentPlanModifier没有ContributorLoader消息.从该日志中,贡献者似乎正确加载.SSDT日志不包含任何提及贡献者的事件.
没有必需的贡献者参数,因此DeploymentContributor我的.sqlproj文件中的节点如下所示: …
在我开发的ASP.NET MVC(Beta)站点上,有时调用ActionLink会返回包含查询字符串的URL.我已经隔离了产生这种行为的情况,但我仍然不明白为什么,它不是生成一个干净的URL,而是决定使用查询字符串参数.我知道它们在功能上是相同的,但是为了URL的一致性(和外观),这不是我想要的.
这是我的路线:
routes.MapRoute(
"Photo Gallery Shortcut",
"group/{groupname}",
new { controller = "Photos", action = "All", Id = "" });
routes.MapRoute(
"Tagged Photos", //since the Tagged action takes an extra parameter, put it first
"group/{groupname}/Photos/Tagged/{tagname}/{sortby}",
new { controller = "Photos", action = "Tagged", Id = "", SortBy = "" });
routes.MapRoute(
"Photo Gallery", //since the Gallery's defualt action is "All" not "Index" its listed seperatly
"group/{groupname}/Photos/{action}/{sortby}",
new { controller = "Photos", action = "All", Id = "", SortBy = "" …Run Code Online (Sandbox Code Playgroud) 解
我已经使用Microsoft Windows Common Controls 6.0(Service Pack 6)在我们的电子表格中添加了一个Treeview Active X Control,即MSCOMCTL.OCX它存在于C:\Windows\SysWOW64\
KB2881029(Microsoft Office 2010 32位版安全更新)(MS16-004),在2016-01-15(或其附近)从Microsoft推出,安装了新版本的MSCOMCTL.OCX(v6.1.98.46),它是"创建的" "在2015-12-09,但在更新时"访问"(即安装在计算机上).
这使得工作簿"丢失"引用MSCOMCTL.OCX(引用标记为"丢失",因为引用仍然被勾选但不再有效;由于"编译错误:不支持对象库功能"或"自动化错误",工作簿无法编译").
似乎更新通过添加SubKey 2.0修改以下注册表项,但保留为空,并且不注册新的MSCOMCTL.OCX:
HKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-000F8754DA1}\
Run Code Online (Sandbox Code Playgroud)
解决问题需要三个步骤:
MSCOMCTL.OCX 需要取消注册并从提升的命令提示符重新注册,如下所示:
C:\Windows\system32>Regsvr32 /u C:\\Windows\SysWOW64\MSCOMCTL.OCX C:\Windows\system32>Regsvr32 C:\\Windows\SysWOW64\MSCOMCTL.OCX
MSCOMCTL.OCX通过REGSVR32 注册新版本(版本6.1.98.46)时,会向注册表添加一个新密钥:
KEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-000F8754DA1}\2.2
如果有一个名为2.1的SubKey已经存在,它会输入一个2.2现在是使用密钥的引用.但它对空的2.0 SubKey没有任何作用!
如果有一个2.0(或2.1的那个)SubKey,其中没有任何东西,使用该OCX的任何对象都应该无法创建,因为它将使用2.0(resp 2.1)版本,它不能也不会检查2.2版.
通过删除错误或取代的密钥2.0和2.1来清理注册表,只留下最新的工作密钥2.2.这可以通过选择HKEY_CLASSES_ROOT,Edit/Find/MSCOMCTRL.OCX从注册表编辑器完成.
(注意:这一步似乎是可选的,因为我已经检查过只做第1步和第3步使得工作簿再次工作.但感觉这是正确的做法)
在Excel工作簿VBA项目中,需要重新引用和重新引用Microsoft Windows Common Controls 6.0(Service Pack 6).再参考不只是一个再勾选框,你需要使用"浏览",然后选择事MSCOMCTL.OCX中C:\Windows\SysWOW64\
(注意,在浏览器窗口中,您需要将文件类型从"dll"更改为"OCX"(或"全部"))
Daniel Alexander Karr(请参阅下面的帖子)亲切地分享了他编写的脚本,以自动执行步骤1和2(请注意,需要以管理员身份运行).
感谢Daniel和wmelonman帮助您理解问题并找到解决方案.
原帖
与此3年前发布的帖子 (由表单引起的Office Service Pack 3.0导致的VBA自动化错误)类似,我的一个完美工作的工作簿从一天到下一天停止工作......
在昨晚进行的更新列表中,以下是Office更新:
我正在和Lucene.net一起试图找到如何在我的应用程序中实现它的方法.
我有以下代码
.....
// Add 2 documents
var doc1 = new Document();
var doc2 = new Document();
doc1.Add(new Field("id", "doc1", Field.Store.YES, Field.Index.ANALYZED));
doc1.Add(new Field("content", "This is my first document", Field.Store.YES, Field.Index.ANALYZED));
doc2.Add(new Field("id", "doc2", Field.Store.YES, Field.Index.ANALYZED));
doc2.Add(new Field("content", "The big red fox jumped", Field.Store.YES, Field.Index.ANALYZED));
writer.AddDocument(doc1);
writer.AddDocument(doc2);
writer.Optimize();
writer.Close();
// Search for doc2
var parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, "content", new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29));
var query = parser.Parse("big abcdefg test1234");
var searcher = new IndexSearcher(indexDirectory, true);
var hits = searcher.Search(query);
Assert.AreEqual(1, hits.Length());
var …Run Code Online (Sandbox Code Playgroud) 所有,
我使用JSLint来验证我的JS文件.在我最近的项目中,我使用以下格式为许多JavaScript函数设置默认值(在此处进一步详述):
function(a, b, option) {
option = arguments.length > 2 ? option : "some default value";
// ...
}
Run Code Online (Sandbox Code Playgroud)
但是,这会导致最新版本的JSLint产生以下错误:
"Do not mutate parameter 'option' when using 'arguments'."
Run Code Online (Sandbox Code Playgroud)
我知道使用更常用的方法来分配默认值(即option = option || {};)可以解决错误; 但是,如果我打算传递一个falsey值,这将产生不正确的行为option.
引入新变量是解决此问题的唯一方法吗?例如:
var option2 = arguments.length > 2 ? option : "some default value";
Run Code Online (Sandbox Code Playgroud) 我有监听 Firebase 事件的 Vue 组件,并且在安装它们时创建 Firebase 参考/侦听器。但是当用户离开该页面时,我想删除beforeDestroy()生命周期挂钩中的所有侦听器。这是删除 Firebase 引用/侦听器的“正确”方法吗?
getFirebaseRef(path){
return firebase.database().ref(path)
},
beforeDestroy(){
// get firebase ref
let fbPath = `/projects/proj_${this.currentLessonId}/components/${this.component.id}`
this.getFirebaseRef(fbPath)
.then((ref) => {
// remove listener
ref.off("value", (snap) => {
})
ref.off("child_added", (snap) => {
})
ref.off("child_removed", (snap) => {
})
})
},
mounted(){
// get firebase ref
let fbPath = `/projects/proj_${this.currentLessonId}/components/${this.component.id}`
this.getFirebaseRef(fbPath)
.then((ref) => {
// add listener
ref.on("value", (snap) => {
doSomething1()
})
ref.on("child_added", (snap) => {
doSomething2()
})
ref.on("child_removed", (snap) => { …Run Code Online (Sandbox Code Playgroud) [![消息错误]] [1]: https://i.stack.imgur.com/ciKCK.png
我的观点是,如果有人在没有登录的情况下进入授权页面,它将被重定向到登录页面。
这是我的代码(.NET Core 3.1):
我的控制器
[Authorize]
public IActionResult Username()
{
var lstUsername = _dbContext.MT_USERNAME.ToList();
return View(lstUsername);
}
Run Code Online (Sandbox Code Playgroud)
我的 Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<GPServiceDbContext>(options =>
{
options.UseSqlServer(xxx);
});
services.AddControllersWithViews();
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(1);
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseStatusCodePages(context =>
{
var response = context.HttpContext.Response;
if (response.StatusCode == (int)HttpStatusCode.Unauthorized ||
response.StatusCode == (int)HttpStatusCode.Forbidden)
response.Redirect("/Login/Login");
return Task.CompletedTask; …Run Code Online (Sandbox Code Playgroud) 我是 Docker 新手,我尝试运行create-react-app图像的容器,因此这些是我已完成的步骤:
npx create-react-app frontend
我创建了Dockerfile.dev如下所示:
FROM node:alpine
WORKDIR '/app'
COPY package.json .
RUN npm install
COPY . .
CMD ["npm" , "run" , "start"]
Run Code Online (Sandbox Code Playgroud)
我使用此命令来构建图像:
docker build -f Dockerfile.dev .
Run Code Online (Sandbox Code Playgroud)
当我使用提供的图像 ID 运行容器时:
docker run -p 3000:3000 my_docker_image_id
Run Code Online (Sandbox Code Playgroud)
正如此屏幕截图所示,什么也没有发生。
但是,当我将-i参数添加到命令中时,一切正常,如以下屏幕截图所示:
docker run -p 3000:3000 -i my_docker_image_id
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我有一系列结构如下的 JSON 文件:
{
"start": "B",
"end": "D",
"display": true
}
Run Code Online (Sandbox Code Playgroud)
其内容为:
| 文件 | start |
end |
display |
|---|---|---|---|
| 1 | 乙 | C | 真的 |
| 2 | 乙 | C | 真的 |
| 3 | 乙 | D | 真的 |
| 4 | A | 乙 | 真的 |
| 5 | A | C | 真的 |
| 6 | A | 乙 | 真的 |
这些文件在 PowerShell 中解析如下:
$edges = Get-ChildItem -Filter "*.json" `
| ForEach-Object { Get-Content $_.FullName | Out-String | ConvertFrom-Json | Select-Object @{n="start";e={$_.start}},@{n="end";e={$_.end}},@{n="display";e={$_.display}} }
# start end display
# ----- --- -------
# B C True
# B C True
# B …Run Code Online (Sandbox Code Playgroud) c# ×3
asp.net-mvc ×2
javascript ×2
.net-core ×1
asp.net ×1
asp.net-core ×1
docker ×1
excel ×1
excel-vba ×1
firebase ×1
jslint ×1
lucene ×1
lucene.net ×1
parameters ×1
powershell ×1
routing ×1
search ×1
sql-server ×1
treeview ×1
vba ×1
vue.js ×1