我<base href="http://localhost:80/">在我的主页中使用基本网址,
现在,当我在更新面板中的dropdownlist内容页面(位于localhost:80/directory1/directory2)上使用控件时,selectedindexchanged事件无法正常工作.
我试图搞清楚,但在firefox控制台的网络选项卡中,我发现请求正在寻找url仅在基础上的内容页面localhost:80/contenpage.aspx而不是localhost:80/directory1/directory2/contenpage.aspx并且给出错误
无法找到该资源.
我创建了一个桌面应用程序,它使用SQL CE 4.0和具有Code First模式的实体 框架。所以,最初我在系统上安装了应用程序,它运行良好。
现在,我向模型类添加了一些属性,因此为此目的,我使用 启用了迁移Enable-Migrations,并使用Add-Migration "MyMigration". 这也很成功,我能够安装新版本并升级数据库,没有任何问题。
但是现在,当我在没有现有数据库的系统上安装此设置时,它会失败,所以经过研究,我意识到我需要添加初始迁移所以,我撤销了模型中的更改,还删除了我的 SQLCE 数据库文件,添加了初始迁移,然后Update-Database。因此,如果我尝试使用在未启用迁移的情况下创建的旧数据库来更新数据库,那么它会失败,它会尝试将初始迁移应用于数据库,但根据我的说法,它不应该这样做。
现在,如果我删除旧数据库文件,然后删除更新数据库,则会创建新数据库,然后再次将我的更改添加到模型并添加预期迁移。
因此,在此之后,周转我可以在空白系统上安装我的应用程序,但它在具有旧数据库的系统上失败,即它不会升级数据库。
它也尝试应用初始迁移,即再次创建所有表,但失败并提示“该表已存在,这是意外的”。
c# entity-framework sql-server-ce ef-code-first entity-framework-migrations
我已经创建了一个构建定义,以便在visualstudio.com上在线构建桌面应用程序,该应用程序在任务“构建解决方案”(Visual Studio构建)中失败,并出现以下错误,
[错误] C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets(3156,5):错误MSB3325:无法导入以下密钥文件:Sixmod5Certificate .pfx。密钥文件可能受密码保护。若要更正此问题,请尝试再次导入证书或使用以下密钥容器名称将证书手动安装到“强名称” CSP:VS_KEY_3B2BCC84AE4E26F1
我遵循了https://developercommunity.visualstudio.com/content/problem/156086/vsts-build-msb3325-cannot-import-the-following-key.html中指定的解决方案
然后按照/sf/answers/3408876061/中的指定, 我在构建任务之前添加了一个powershell脚本任务,如下所示,
[CmdletBinding()]
param(
[Parameter(Mandatory)][string] $pfxpath,
[Parameter(Mandatory)][string] $password
)
Add-Type -AssemblyName System.Security
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
$cert.Import($pfxpath, $password, [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]"PersistKeySet")
$store = new-object system.security.cryptography.X509Certificates.X509Store -argumentlist "MY", CurrentUser
$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]"ReadWrite")
$store.Add($cert)
$store.Close()
Run Code Online (Sandbox Code Playgroud)
但是还没有运气
有类似此指定解决方案的不同SO帖子,可以从Admin用户构建,也可以手动安装pfx证书,但是由于它们与个人计算机有关,并且我试图在visualstudio.com上配置持续集成,因此对于我。
请注意,我能够在本地计算机上成功构建。
如果您最终希望重新产生此问题,请按照以下步骤操作,
步骤1:创建一个新的VSTO外接程序项目(任何Excel / Word / Powerpoint)。
步骤2:将此附加到VSTS。
步骤3:在“应用程序属性”的“签名”选项卡中,而不是使用临时证书,而是创建一个新的受密码保护的证书(在我的情况下为PFX-个人信息交换),并使用该证书对ClickOnce清单进行签名
步骤4:尝试在本地计算机上构建,它将成功。
第5步:将其推入并尝试在VSTS上构建,您将得到与上述相同的错误。
msbuild azure-devops azure-pipelines-build-task azure-pipelines
用这个,
[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
private static extern IntPtr GetForegroundWindow();
Run Code Online (Sandbox Code Playgroud)
我检索一个进程的句柄,然后,
IntPtr hwnd = GetForegroundWindow();
int pid = APIFuncs.GetWindowProcessID(hwnd);
Process p = Process.GetProcessById(pid);
string appName = p.ProcessName;
Run Code Online (Sandbox Code Playgroud)
所以每当我找到appName ="WINWORD"时,我想使用hwnd检索Word应用程序对象
注意:我不想创建单词的新实例,只是运行一个.
c# ×3
asp.net ×1
azure-devops ×1
entity-framework-migrations ×1
ms-word ×1
msbuild ×1
updatepanel ×1
vsto ×1